首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于C语言整型指针和字符型指针的困惑,望高人指点一二解决办法

2012-09-27 
关于C语言整型指针和字符型指针的困惑,望高人指点一二main(){int *i;char *str;*i100strGood...)为

关于C语言整型指针和字符型指针的困惑,望高人指点一二
main()
{
  int *i;
  char *str;
  *i=100;
  str="Good";
...
)
为什么整型指针和字符型指针在赋值的时候有一个*号的区别?为什么会有这样的规定呢?定这个规定的人当时是出于那点考虑,而不把它们以相同的方式统一规定呢?

[解决办法]
因为100是个立即量,而"Good"本身是个数组,他同时等价于指针,100的类型可以等价于int, 而要知道"Good"的类型不是char,而是const char*

你*i=100是错误的,因为你没有分配内存
[解决办法]

探讨
"为什么整型指针和字符型指针在赋值的时候有一个*号的区别?"

先不说你程序的正确性

*是解引用

整形指针用*是因为要为指向指向的空间赋值,要解引用,为单个int 赋值

而字符型指针也是可以用*的 这样解引用到字符指针指向的一个char空间单元 如果赋值的话 为单个char赋值

而其不用*的话,是说明这个指针指向了某个字符串的首地址.

是你理解歪了

热点排行