# include<stdioh>
int main(){
int n,p; //用的是小写的p
p=&n; //意思是把n在内存中的地址赋值给指针p,而下面"p"的意思是指p被赋值的地址上的值,也就等于n 值,还要说下&n表示的是n的地址
printf("请输入n的值:");
scanf("%d",&n);
printf("n=%d\n",n);
printf("p=%d\n",p);
return 0;
}指针可以理解为一个存地址的寄存器,存的就是地址,“指向指针的指针” 就是二级指针
假设另一个指针是int q; 而q的指针就是 &q,
p = &q;
作用为了获取这个地址。解,个人觉得指针是一个有用的寻址的辅助工具,程序编着编着就会想用,再接下来,还会给C语言创新功能。
1)数序函数是中学学过的,函数有定义域,而定义域里的数据一般都是有序或有机的,在C里面变为数组;
2)上述数据将被按地址逐个存放在计算机内存中,1)所述数据不例外
3)函数的本意就是对可 *** 作的数据进行映射,因此在处理那些定义域的数据可以使用数据地址找到,非常方便,快捷。
不过,使用指针时别弄错,弄错了,语法是检查不出来,可是结果却会出来一个莫名其妙的数据,指针不知道指到哪个位置了,而那些位置都有数据,不过和本程序会无关。1指针就是1个变量,他也是一个存放内容的内存空间。
2指针存放的内容是另一个内存空间的起始地址。不同于一般变量存放的就是变量值。
3取值 *** 作符对于指针的作用是取得指针变量存放的内存地址里面的值,不加取出的是指针变量存放的值(就是一个内存地址)
上面3步,step by step 你就理解了指针和整型浮点型一样是一种数据类型,这种数据类型是专门用来保存变量地址的,并且通过符可以实现访问(或者 *** 作)指针变量保存的地址内的值。
利用指针有很多用途。
首先,指针怎么使用呢?
int a=5; //比如执行执行这条语句后,在内存 地址0xA5写入整型5
int pa=&a;//把0xA5保存到指针pa中
printf("%d\n",pa);打印 5(通过指针的解引用访问指向的变量)
pa=6;改变指向变量的值
printf("%d",a);//打印 6(可以看到a的值的确被改变了)指针与其他变量在计算机里都是数据,只不过指针存储的是地址且其运算结果与数据类型有关。因此指针可以理解为与 int, float等并列的另一类型的变量,每一类型有变量有自己的运算规则。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)