2---C语言|笔记【对C语言指针的初步理解】

来源:互联网 发布:咕咕收音机mac版 编辑:程序博客网 时间:2024/05/23 16:54

指针是一种保存变量地址的变量。所以指针其实也是一种变量。

指针的初始化:初始化时“=”右边只能是地址;

int a = 0;int *p = &a;
int *p = NULL;p = &a;

指针的两个元素,记住两点:
1. p看成普通变量,存储变量a的地址,所有对p的操作都只能是改变p中存储的地址,即改变*p指向的变量; —–> 地址
2. *p代表a的值,所有对*p的操作都是对a的值的操作,操作完成之后将结果赋给a。 —–> 该地址下存储的值

指向指针的指针:

int a = 0;int *p = &a;int **p1 = &p;printf("a = %d, &a = 0x%d\n\n", a, &a);printf("p = 0x%d, &p = 0x%d, *p = %d\n\n", p, &p, *p);printf("p1 = 0x%d, *p1 = 0x%d, **p1 = %d\n\n", p1, *p1, **p1);

打印结果为:
a = 0, &a = 0x2686744
p = 0x2686744, &p = 0x2686740, *p = 0
p1 = 0x2686740, *p1 = 0x2686744, **p1 = 0

除最顶层外,都是地址

原创粉丝点击