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中的为什么没有“*”?这是什么原因?谢谢! 展开
比如说:
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中的为什么没有“*”?这是什么原因?谢谢! 展开
6个回答
展开全部
int *p=
参考资料: 鍩
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int *pi1=&i1,*pi2=&i2;//用整型变量的地址给基类型为整型的指针变量赋值
pi1=&i3;
它们的作用是一样的,都是将变量的地址赋值给指针变量
int *pi1=&i1,这个语句有两个作用,1 定义pi1是整型指针,2把i1变量的地址给pi1
而pi1=&i3这个语句只有一个作用,把i3变量的地址给pi1,也就是前面要有pi1的定义声明
否则会出错。
pi1=&i3;
它们的作用是一样的,都是将变量的地址赋值给指针变量
int *pi1=&i1,这个语句有两个作用,1 定义pi1是整型指针,2把i1变量的地址给pi1
而pi1=&i3这个语句只有一个作用,把i3变量的地址给pi1,也就是前面要有pi1的定义声明
否则会出错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实,就是想问下的是为什么pi1=&i3里面的pi1中和上面的*pi2=&i2不一样呢,就是pi1中的为什么没有“*”?这是什么原因?
pi1=&i3 之所以能这样赋值是因为之前有定义
*pi2=&i2 这样独立成句是不正确的 一般要int *pi2=&i2 意义是定义指针 并初始化赋值。
pi1=&i3 之所以能这样赋值是因为之前有定义
*pi2=&i2 这样独立成句是不正确的 一般要int *pi2=&i2 意义是定义指针 并初始化赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-01-18
展开全部
指针定义的时候要:int * p;
赋值的话就直接 p = &i1;
如果是即定义又赋值: int *p = &i1;
分开就是:
int *p;
p = &i1;
赋值的话就直接 p = &i1;
如果是即定义又赋值: int *p = &i1;
分开就是:
int *p;
p = &i1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开始是定义为指针变量 定义为指针变量的符号为* 其实int *p1=&i1就等于int *p1;p1=&i1
在变量定义时需要指出变量类型;int *p1=&i1的*是定义用的指出变量类型;
其实初学是这样 用多了就行了 刚开始的时候分开写
以后慢慢就会了 C语言指针很多 这只是最简单的 呵呵
在变量定义时需要指出变量类型;int *p1=&i1的*是定义用的指出变量类型;
其实初学是这样 用多了就行了 刚开始的时候分开写
以后慢慢就会了 C语言指针很多 这只是最简单的 呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询