MIPS处理器设计透视-080403

外部变量申明的一个错误

大头 posted @ 2008-05-03 01:25PM in 学习 with tags c/c++
PHP初学——字符串

C++中的外部变量不是类型安全的变量。

File: sub.cpp 

  1. // the string to print
  2. char str[] = "Hello World!\n";

 File: main.cpp 

  1. #include <iostream>
  2.  
  3. extern char *str; // the string to print
  4.  
  5. int main()
  6. {
  7.     std::cout<< str << std::endl;
  8.     return (0);
  9. }

 在这里,str被认为是一个指针,程序运行到那儿,读其地址前4位,而前4位是“Hell”,不是一个地址,所以出错。

Comments Feed

Head_small
爱德丝
奇怪了,为什么不把两个文件中的 str 声明为相同的类型

Head_small
大头
是啊,错误往往是不可预料的。

Head_small
Li Yanrui

这是典型的指针与数组概念混淆的例子,可参考 Expert C Programming.


Head_small
大头

嗯,随时准备开始读这本书。


Head_small
一碗鸡蛋壳

这样的代码能通过编译? 类型不一样的啊


Head_small
大头

我没试过,你可以试一下。



* Login
*