中易网

C语言里:为什么不能将int型变量直接赋值给指向int型变量的指针

答案:5  悬赏:20  
解决时间 2021-01-26 13:01
C语言里:为什么不能将int型变量直接赋值给指向int型变量的指针
最佳答案
因为指针里实际保存的是地址
比如
int a = 0;
int *p ;
p = &a; //这是指向int型变量的指针,它保存的a这个变量所在的地址,比如,a保存在内存地址为0x00010011,那么p保存的就是0x00010011
所以不能直接把int型变量赋值给指针
全部回答
指针就是地址,只要形式上是地址,指针变量就可接受。但int型变量的值不是地址,如a是int类型,那么(*int)a就是指针类型了。
指针 是一种地址空间变量是一种值严格上讲是可以赋值的,但是由于编译器的警告作用不让你赋值,你硬要是想赋值的话就这样 int = (int *) int;明白吗?
可以!但有条件
指针只能操作地址,也就是说将地址值作为变量赋给指针
如果你的变量存放着某一内存的合法首地址,可以用类型强制转换进行赋值,如果没有存放地址,即使强制类型转换进行赋值,也没有任何意义,因为合法首地址意味着系统分配了一块合法的内存,你才能用指针操作
int a ;
int *p;
p=a; 不行 只能将地址给p
p= &a; p指向a
p = (int *)a ;把a强制转换成地址给p
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上上兼职网的信息真实吗
有哪些好的贷款软件
如何显示昂达VI10平板电脑TF卡
怎么给电脑显卡驱动升级?升级的时候要不要把
镇沅彝族哈尼族拉祜族自治县者东镇为民服务中
膝盖疼!!特别是在蹲下或起身的时候!膝盖一
从东莞到广西苍悟要多少高速费
五又六分之五等于多少填小数
用一块毛巾解释极致用心读后感
普通车床加工细长丝杠方法
现在国家统计农村一家几处房产干什么?
歌词里有一句对天对地对朋友,儿女情深
新媒体运营和电商运营哪个比较有发展前景,工
gosick小说是先看gosick还是先看gosicks
怎么把脸化小些?
推荐资讯
皇家宝贝儿童摄影馆(解放西路41号附近皇家宝
0.7x3.6 2x15 0.7x6.4 8x15的简算是
山东省泰安市岱岳区蔬菜批发市场位置
西晋镇海大将军有佘昭元吗
中钢网的网站简介
谁知道爸爸回来了0508期里面,贾乃亮给甜馨吃
我姓欧却从没有偶然遇见你大概是因为你喜欢单
新脱蝈蝈怎么养
在人家主场2比1赢了我 ,我回到自己主场净胜几
嫦娥奔月不见女, 双木非林心中怀。 走过银河
请问 大连的【绿山观景台】和【大连观光塔】
LED冰柜灯,放在冰柜中能防水的LED灯哪的好,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?