C语言怎么让指针指向某个变量

比如我要让p指向变量a,应该是
int *p;
p=&a;
还是
int *p;
p = int*(&a);
还是int *p= a

首先要知道两个最基础的知识点:
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个回答  2019-06-17
int *p;表示声明一个放int地址的变量,叫p

a,直接解释就是一个int变量的值。是地址里的数值。
所以我选p=&a;
相似回答