关于C语言指针,为什么不能写int *p = 100;
答案:2 悬赏:0 手机版
解决时间 2021-04-13 03:26
- 提问者网友:了了无期
- 2021-04-12 19:32
p代表内存地址,*p那不就可以表示一个值么?而且为什么调试的时候,我看了下p的地址居然是0x1?希望有大大解一下疑惑。
最佳答案
- 五星知识达人网友:鱼忧
- 2021-04-12 20:18
=号左右类型不匹配!int *p声明的p是int *型指针,而常数100默认的是int型,因=号两边类型不同而错。写成int *p=(int *)100;就可以了,即把100强制为int *型……
全部回答
- 1楼网友:归鹤鸣
- 2021-04-12 20:26
lz的写法是不可以的,可以写成int *p=&a;p=&b;也就是可以改变指针的指向,前提是p不是常指针(指针本身是常量,众所周知,常量的值是不能改变的),也就是这么写“ int *const p=&a;”,那就不能再“p=&b;”即常指针指向不能再改变了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯