在C语言中,二级指针是指向指针的指针,用于间接操作或传递指针变量。例如,我们定义一个一级指针变量q,它可以指向一个整型变量s,即q存储的是整型变量s的地址。进一步地,定义一个二级指针变量p,它将指向一级指针q,即p存储的是q的地址。具体而言,当我们使用*q时,它代表一级指针q所指向的内存地...
int q;//定义一个一级指针变量,它指向一个普通变量(即它存的是一个变量的地址)int p;//定义一个二级指针变量,它指向一个指针变量(它存的也是一个变量地址,只不过是一个指针变量的地址)int s;q = &s;//q中存的是整型变量s的地址,所以q是一级指针 p = &q;//p中存的是一级指针...
指针变量前面的星号,意思是指针指向的地址中的值,又因为q的值是p的地址,因此*q指向p,而 (int *)malloc(sizeof(int))意思是动态分配一个内存空间,空间大小为int类型的大小,一般为4字节,malloc返回该空间的首地址,将该地址强制转换为整数指针类型,并将该地址通过q间接赋值给p。此时p被初始化...
一级指针所关联的是其值(一个地址)名下空间里的数据,这个数据可以是任意类型并做任意用途,但二级指针所关联的数据只有一个类型一个用途,就是地址,指针就是两个用途提供目标的读取或改写, 那么二级指针就是为了提供对于内存地址的读取或改写。指针的表现形式是地址,核心是指向关系指针,运算符“*”的作用是...