指针是每一个c代码人都要懂的东西,我在这里写下我的总结,希望对大伙儿有用,如果有什么不多的地方,请网友留下你的印记,谢谢。
指针变量的类型规定这个变量是存放哪一种类型变量的地址的--->指针变量用来存放地址;
int * p;------>int *是一个整体,表示要定义一个用来存放int型数据的地址的变量,p则是指针变量名;
int a=2;
p=&a;----->&a,表示变量a在内容中的地址,将地址赋值给指针变量p;
什么是二级指针内,就是用来存放指针变量的地址的;
这里定义二级指针的时候要注意,有2个‘**’:
int ** q;----------------------->和上面一样int **表示要定义一个int类型的指针,**表示是二级指针,即用来保存指针的地址的指针,q则是二级指针变量名。
以下是我的一点code,希望有用。
#include<stdio.h>
int main(int argc,char **argv)
{
int *p=NULL;//一级指针定义
int **q=NULL;//二级指针定义
int a=1;
printf("&a:%p\n",&a);//a地址
p=&a;//一级指针赋值
printf("p:%p\n",p);//a地址
printf("a:%d\n",*p);//a的值
q=&p;二级指针赋值
printf("q:%p\n",q);//指针变量p的地址
printf("*q:%p\n",*q); //指针变量p的内容,也就是a的地址
printf("a:%d\n",**q);//*(指针变量p的内容,也就是a的地址 )=a的值
return 0;
}
若有错,请指出,谢谢。