想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。初学者在C语言的学习过程中遇到的最头疼的知识点大概率是指针,指针在C语言中是非常重要的。下面我们就来了解一下指针的内容。
指针本身是一个变量,它存储的是数据在内存中的地址而不是数据本身的值。它的定义如下:
int a=10,*p;
p=&a
int a=10;
int *p=&a;
首先我们可以理解 int*这个是要定义一个指针p,然后因为这个指针存储的是地址所以要对a取地址(&)将值赋给指针p,也就是说这个指针p指向a。
很多新手都会对这两种定义方法感到迷惑,其实他俩的意思是一样的。第一种定义方法定义了int型的变量a和指针p,然后将a的地址赋给p。第二种是在定义指针p的同时将a的地址赋给指针p。我们姑且理解为" int * "是定义指针的标志。
指针有什么用?
这样我们就可以通过*p来找到指针所指向的变量a的地址,然后对地址中的值(值是10)进行操作。
//接着上面的代码
printf("%p",p) //结果是一个地址(p指向的变量a的地址)。
printf("%d",*p) //结果是10,变量a的值。
printf("%d",&p) //结果是一个地址(指针p的地址,因为指针也是一个变量自己也有地址的