C语言怎么让指针指向某个变量
比如我要让p指向变量a,应该是int*p;p=&a;还是int*p;p=int*(&a);还是int*p=a...
比如我要让p指向变量a,应该是
int *p;
p=&a;
还是
int *p;
p = int*(&a);
还是int *p= a 展开
int *p;
p=&a;
还是
int *p;
p = int*(&a);
还是int *p= a 展开
2个回答
展开全部
首先要知道两个最基础的知识点:
1、&a指向的是a的地址。
2、指针指向的是地址,和整型变量的值并不对等,也就是int *与int不对等,是不能从int转换为int *的。
知道以上两个最基础的知识点,你的问题就很简单了 。
第一个:
int *p;
p=&a;
是正确的。定义指针变量p,然后才将p指向变量a的地址。
第二个:
int *p;
p=int* (&a);
p是指针,指向的是地址,而不是int型值,因此是错误的。
第三个:
int *p=a;
不能从int转换为int *,因此是错误的。
只有第一个是正确的,后面两个都是错误的。
1、&a指向的是a的地址。
2、指针指向的是地址,和整型变量的值并不对等,也就是int *与int不对等,是不能从int转换为int *的。
知道以上两个最基础的知识点,你的问题就很简单了 。
第一个:
int *p;
p=&a;
是正确的。定义指针变量p,然后才将p指向变量a的地址。
第二个:
int *p;
p=int* (&a);
p是指针,指向的是地址,而不是int型值,因此是错误的。
第三个:
int *p=a;
不能从int转换为int *,因此是错误的。
只有第一个是正确的,后面两个都是错误的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询