温习指针
int number = 1024;
// %p表示输出指针类型的数据
int * ptr_num = &number;
printf("number 变量的地址是:%p\n", &number);
printf("指针ptr_num指向的地址是:%p\n", ptr_num);
// 输出指针所指向地址的值 使用间接运算符*
printf("ptr_num所指向的值是:%d\n", *ptr_num);
// 利用指针ptr_num改变指针所指向的值
*ptr_num = 1111;
printf("修改后,ptr_num所指向的值是:%d\n", *ptr_num);
printf("修改值后,指针ptr_num指向的地址是:%p\n", ptr_num);
printf("\n");
//指针进阶——使用指针的地址
int number2 = 2048;
int * ptr_num2 = &number2;
int ** ptr_num3 = &ptr_num2;
//此时一级指针的地址和二级指针指向的值是一样的
printf("*ptr_num2的地址是:%p\n", &ptr_num2);
printf("ptr_num2指向的地址是:%p\n", ptr_num2);
printf("ptr_num3指向的地址是:%p\n", ptr_num3);
printf("*ptr_num3指向的地址是:%p\n", *ptr_num3);
printf("指针ptr_num3指向的值是:%d\n", **ptr_num3);
运行结果:
number 变量的地址是:0061FF14
指针ptr_num指向的地址是:0061FF14
ptr_num所指向的值是:1024
修改后,ptr_num所指向的值是:1111
修改值后,指针ptr_num指向的地址是:0061FF14
*ptr_num2的地址是:0061FF0C
ptr_num2指向的地址是:0061FF10
ptr_num3指向的地址是:0061FF0C
*ptr_num3指向的地址是:0061FF10
指针ptr_num3指向的值是:2048
本文通过实例详细介绍了C语言中的指针基础知识,包括指针的声明、赋值、解引用以及如何通过指针修改变量值。进一步探讨了二级指针的概念,展示了如何获取和使用二级指针来操作内存地址。最后,通过代码展示了指针地址和指针值的关系。
355

被折叠的 条评论
为什么被折叠?



