永发信息网

c 语言中这个指针赋初值的问题

答案:3  悬赏:10  手机版
解决时间 2021-03-19 18:51
main( )
{ int i=10;
int *p;
*p=i;
printf(“%d”,*p);
}
上面程序为什么没有赋初值,*p=i,不是赋初值么?那它是什么意思呢?
最佳答案
#include "stdio.h"
void main( )
{
int i=10;
int *p;
p=&i;
printf("%d",*p);
}

应该是这样,将i的地址给p,相当于这样的程序
#include "stdio.h"
void main( )
{
int i=10;
int *p=&i;

printf("%d",*p);
}

指针指向i的内存单元。而不是将*p单独拿来用,这个相当于指存所指内存单元的值,而不是地址,所以,我们应将i的地址即&i给p.
全部回答
a=p1==&m; 因为逻辑运算符等号 == 的优先级比赋值运算符 = 高,所以这个表达式其实就是 a=(p1==&m); c语言里面非零为真,0为假,因为 p1==&m 表达式为假,所以 a 的值为0。。 c语言里面,对于 a/b,如果 a 和 b 都是 int 类型的话,那么 a/b 表示的是整除,所以在这里 -4/6 = 0。。 所以 b 的值为 7。。
int *p;这句话只定义了p,没有初始化,它指向的是一个未知地址. *p=i;中*p是指p指向的值,p指向的是未知地址所以是不合法的 对p的赋值应该是 p=&i; 或者 p=malloc(sizeof(int)); *p=i;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手机的屏幕校正在哪里?
甘肃武威适合养殖竹鼠吗?
调颜色怎么调
英金河畔地址在哪,我要去那里办事
兴宁市梅州施柏丽干洗(鸿源桥)地址有谁知道?
过房之命是什么意思
以"善〃为话题的作文大全
上海巴黎春天浦建店的clride.n现在还在不在?
时间久了 好多朋友都不联系了 无话不说 无话
城阳祥瑞老年公寓地址有知道的么?有点事想过
沷尼松龙肌肉注用量
什么叫上班?上班的概念是什么?
耐克运动鞋穿多久会变大一点,我买小了半个号
我是临床医学专业的本科毕业生,请问如果选择
车子相刮擦
推荐资讯
怎么用Ledit打开gds文件
求daisy destruction(摧毁迪诗)资源,最好
急求c语言:学生选课系统程序设计(最好含流
真正的借条要怎么写
雨刮清洗液老是提示不足请添加,可是我家了清
天龙八部2明教怎样才能打怪最快,一定要快!
新疆浩泽物流富蕴分公司这个地址在什么地方,
大龙饭店在什么地方啊,我要过去处理事情
一个女孩给你她的照片那代表什么
陕西汇能保温材料批发这个地址在什么地方,我
装饰软片是什么
什么是民法上的“交付”?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?