---恢复内容开始---
精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据。(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例)
一级指针:*p1 取得是目标存储空间的值 p2取得的是目标存储空间的存储地址,&p1取得是当前存储空间的存储地址,
二级指针使用:
#include <stdio.h>
void change3(int **p2){
int ***d3 = d2;
***d3 = 60
}
void change2(int *d);
int main(){
int *p ;
int *p;
int a = 100;
p = &a;
*p = 10;
//一级指针做形参(略)
//重点来了,二级指针做形参
int **p2 = &p;
**p2 = 20;
change3(p2);
printf("a = %d",a);//输出a = 60
printf("**p2=%p\n",p2);
printf("&p=%p\n",&p);
printf("**p3=%p\n",*p3);//这三个输出,指向同一个内存空间(一定是)
}
以上是一个小测试,当初学c得时候不专心,现在学Oc好好搞死oc的指针。大家参考一下,哪里错了一定要指出来喔。
---恢复内容结束---
时间: 2024-10-07 08:00:18