请大家给我解答一个c语言的指针问题

inta=12;int*b=&a;//正确int*b=12;//错误*b=12;//正确*b=&a;//错误为什么???... int a=12;
int *b=&a;//正确
int *b=12;//错误
*b=12;//正确
*b=&a;//错误
为什么???
展开
 我来答
吉祥二进制
高粉答主

2015-04-11 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84573

向TA提问 私信TA
展开全部
int a=12;
int *b=&a;//正确 ,因为b是指针,需要保存一个地址,用&变量的地址,所以正确。
int *b=12;//错误 ,因为12的数据类型是int类型,你左侧是一个 int *的类型,类型不匹配,所以错误,可以写成 int *b = (int *)12 ; 但是程序运行会出错,茄搏因为液纳仔12这个地址,一般被操作系统设置为系统才能使用。
*b=12;//正确 ,因为指针的内容访问运算符是*,*b就相当于一个int变量,所以正确
*b=&a;//错误 ,因为*b相当于一个int变量,闹汪你使用&a获取一个变量的地址,实际上是一个int *的类型,所以类型不匹配。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式