C语言中,关于指针的基础问题,望有高人指点

初学C语言,在学习指针时遇上点问题:比如说:inti1,i2,i3;int*pi1=&i1,*pi2=&i2;//用整型变量的地址给基类型为整型的指针变量赋值pi1=&i... 初学C语言,在学习指针时遇上点问题:
比如说:
int i1,i2,i3;
int *pi1=&i1,*pi2=&i2;//用整型变量的地址给基类型为整型的指针变量赋值
pi1=&i3; //给指针变量赋予基类型变量的地址
pi2=pi1;
我就是不明白
int *pi1=&i1,*pi2=&i2;//用整型变量的地址给基类型为整型的指针变量赋值
pi1=&i3; //给指针变量赋予基类型变量的地址
这两个的赋值区别,是不是都是将变量的地址赋值给指针变量呢?
如果是的话,那他们有什么区别呢,如果不是的话,那有是什么呢?
看不懂哦,详细求解,谢谢!
其实,就是想问下的是为什么pi1=&i3里面的pi1中和上面的*pi2=&i2不一样呢,就是pi1中的为什么没有“*”?这是什么原因?谢谢!
展开
 我来答
紫云紫天
2011-01-18
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
指针也是一种数据类型,所以在C中也必须先定义在使用。和其他的定义一样如整型(int),指针类型的也可以在定义时赋值,就是这样int *p=&i1,但是如果去掉类型说明int该语句不成立。p=&i1是赋值语句,使用前必须定义p为指针类型。int *p=&i1是声明语句,包含两层一定义p为整型指针,二将p赋值为&i1。你可以比较着int a=1000;和a=1000;这两个语句不要被*和&弄晕了!
sc黑色茉莉
2011-01-18 · TA获得超过274个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:274万
展开全部
int *p=

参考资料:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mdoom
2011-01-18 · TA获得超过2923个赞
知道大有可为答主
回答量:1370
采纳率:0%
帮助的人:690万
展开全部
int *pi1=&i1,*pi2=&i2;//用整型变量的地址给基类型为整型的指针变量赋值
pi1=&i3;
它们的作用是一样的,都是将变量的地址赋值给指针变量
int *pi1=&i1,这个语句有两个作用,1 定义pi1是整型指针,2把i1变量的地址给pi1
而pi1=&i3这个语句只有一个作用,把i3变量的地址给pi1,也就是前面要有pi1的定义声明
否则会出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YouTube时尚精选
2011-01-18 · 超过16用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:22.9万
展开全部
其实,就是想问下的是为什么pi1=&i3里面的pi1中和上面的*pi2=&i2不一样呢,就是pi1中的为什么没有“*”?这是什么原因?

pi1=&i3 之所以能这样赋值是因为之前有定义

*pi2=&i2 这样独立成句是不正确的 一般要int *pi2=&i2 意义是定义指针 并初始化赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-18
展开全部
指针定义的时候要:int * p;
赋值的话就直接 p = &i1;
如果是即定义又赋值: int *p = &i1;

分开就是:
int *p;
p = &i1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengbolovehk
2011-01-18
知道答主
回答量:4
采纳率:0%
帮助的人:3.4万
展开全部
开始是定义为指针变量 定义为指针变量的符号为* 其实int *p1=&i1就等于int *p1;p1=&i1
在变量定义时需要指出变量类型;int *p1=&i1的*是定义用的指出变量类型;
其实初学是这样 用多了就行了 刚开始的时候分开写
以后慢慢就会了 C语言指针很多 这只是最简单的 呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式