c语言的指针赋值问题
请问各位高手,定义了指针*p,想它指向一个元素,下面的*p=&xp=&x*p=x都是对的吗?用法有什么不同吗?...
请问各位高手,定义了指针*p,想它指向一个元素,下面的
*p=&x
p=&x
*p=x
都是对的吗?用法有什么不同吗? 展开
*p=&x
p=&x
*p=x
都是对的吗?用法有什么不同吗? 展开
7个回答
展开全部
char *p;
p才是指针,*p是p指向地址的值。
如果x是变量,&x是取x的地址
*p=x;是往p指向的地址里面存入x的值
p是指针,但实际上p也是一个变量,只不过p里存的是个内存地址
p才是指针,*p是p指向地址的值。
如果x是变量,&x是取x的地址
*p=x;是往p指向的地址里面存入x的值
p是指针,但实际上p也是一个变量,只不过p里存的是个内存地址
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言哪来的引用!?
第一个是p指向x的地址。即p中存放的是X地址的地址。(也可以是正确的,但是很可能达不到你的预期目的在定义的时候这么用int x=2,*p=&x)
第二个是将x的地址赋值给p,这个正确。
第三个也是正确的,是让p存放X的地址(典型指针赋值操作)。
&是取址,在C++才可以被认为是引用!其实就是一种变相的指针!
第一个是p指向x的地址。即p中存放的是X地址的地址。(也可以是正确的,但是很可能达不到你的预期目的在定义的时候这么用int x=2,*p=&x)
第二个是将x的地址赋值给p,这个正确。
第三个也是正确的,是让p存放X的地址(典型指针赋值操作)。
&是取址,在C++才可以被认为是引用!其实就是一种变相的指针!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样定义,只向系统要了指针的存放地点,却没有000000的存放地点,怎么确定放在哪呢,这样很危险的!
可以改成char
c[
]
=
"000000";
可以改成char
c[
]
=
"000000";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
肯定不同,*p=&x是定义一个指针,p=&x是引用,*p=x是赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询