TA的每日心情 | 汗 2024-10-15 10:05 |
---|
签到天数: 372 天 [LV.9]以坛为家II
|
本帖最后由 Sian 于 2014-3-5 10:12 编辑
- /*
- 通过运算符"*"访问指针值与运算符"&"取值指针,来理解C语言中指针的基本使用方法
- 1、定义一个int型变量,分别打印其值与指针地址;、
- 2、定义一个指针变量,并将上面的地址赋值给该变量,打印其值、其值(指针)所指向的值、以及自身的地址;
- 3、定义一个二级指针变量,并将上面(指针类型的值)的指针赋值给该变量, 打印其值、其值(二级指针指针)所指向的值、其值所指向的值(指针)所指向的值、以及自身的地址;
- */
- #include <stdio.h>
- #include <stdlib.h>
- int main() {
-
- int a = 10; // 定义一个int型变量a 赋值为10
- printf(" a = %d\n", a); // 打印a的值
- printf("&a = %p\n", &a); // 打印a的地址
- printf("\n");
-
- int *p = &a; // 定义一个int型的指针(int *)变量p 赋值为a的地址
- printf(" p = %p\n", p); // 打印p的值,即a的地址
- printf("*p = %d\n", *p); // 打印p所指向的值,即a的值
- printf("&p = %p\n", &p); // 打印p自身的地址
- printf("\n");
-
- int **pp = &p; // 定义一个指针类型的指针( (int *)* --> int ** )变量pp 赋值为p的地址,即保存a地址变量的地址
- printf("pp = %p\n", pp); // 打印pp的值,即打印保存a地址变量的地址
- printf("*pp = %p\n", *pp); // 打印pp所指向的值,即a的地址
- printf("**pp = %d\n", **pp); // 打印pp所指向的值(a的地址)所指向的值(即a的值)
- printf("&pp = %p\n", &pp); // 打印pp自身的地址
-
- system("pause");
-
- return 0;
-
- }
复制代码 输出结果:- a = 10
- &a = 0022FF44
- p = 0022FF44
- *p = 10
- &p = 0022FF40
- pp = 0022FF40
- *pp = 0022FF44
- **pp = 10
- &pp = 0022FF3C
复制代码
|
|