C语言中定义变量时在变量前面加2个星号是什么意思

Python07

C语言中定义变量时在变量前面加2个星号是什么意思,第1张

C语言在定义变量时加两个星号是表明这个变量为二级指针

C语言中在定义变量时使用 * 号是为了表明该变量为指针

指针有分一级指针,二级指针,三级指针等,有几个  *  号就相当于是几级指针

首先你要理解指针就是内存中的地址

你要使用地址的时候就直接用指针p,你要用地址中的值得时候就得加上*,你要想求值的地址就要用&。比如说

int *p,那么p是存放这个int型数字的地址,*p就是这个地址上的数字,那么就是这个值了。

int n,n是数字,&n就是存放n的地址了(地址的意思就是内存上的片段编码);

这样说够明白了吧

定义,声明的时候,必须写

int * ip

char * cp

double *dp=NULL

在使用的时候,*号并不是指针的标志,而是一种运算符号,意思是解应用。

int a=5

int b=3

int * ip=&a

那么,直接使用ip,ip是这个地址,是一个指针,比如ip=&b,那么ip就指向了b。

而使用*ip,是对ip进行解引用计算,也就是取出ip指向的内容,*ip的值是5(a的值),*ip=b,是对ip指向的地址赋值,此时你输出a,得到的值是3

希望能帮到你,不懂再问我

***********************************************

一个指针,指向一个数据,也就是间接地使用了这个数据,我们可以称之为引用。

直接使用ip,就是间接使用(得到地址),通过地址解析出原始数据,可以称之为解引用,所以*ip就得到了ip指向的数据。

可能叫做 "地址解析"之类的你更容易明白吧