如图分析:
实验二
第二个实验: 如果修改 p 值, i值有变化吗?
当执行完p = &j;时p的地址值变了 , 但是i的值没有变化
【手把手入门C语言—C语言指针】#include #include /**指针就是内存地址 内存地址就是指针*/main(){int i =100;int* p = &i; //第二个实验: 如果修改 p 值, i值有变化吗? // 修改 p 的话是修改地址值,所以定义 int j = 200;// 结果如下:// 修改p值前,i的值时:100// 修改p值后,i的值时:100 printf("修改p值前,i的值时:%d\n",i); int j = 200;p = &j;printf("修改p值后,i的值时:%d\n",i); system("pause");}
如图分析:
实验三
第三个实验: 如果修改 i 值, *p值有变化吗?
有变化 , *p:把对应的地址的值取出来 , 此时为200
#include #include /**指针就是内存地址 内存地址就是指针*/main(){int i =100;int* p = &i; //第三个实验: 如果修改 i 值, *p值有变化吗?// *p对应的是int类型的占位符 printf("修改i值前,*p的值时:%d\n",*p); i =200;// *p:把对应的地址的值取出来 , 此时为200printf("修改i值后,*p的值时:%d\n",*p); system("pause");}
如图分析:
实验四
==第四个实验: 如果修改 *p 值, i值有变化吗? ==
有变化 , *p = 200; 执行完后:把对应的地址的值变为200
#include #include /**指针就是内存地址 内存地址就是指针*/main(){int i =100;int* p = &i; //第四个实验: 如果修改 *p 值, i值有变化吗? printf("修改*p值前,i的值时:%d\n",i); // 把地址对应的值改变了 *p = 200;printf("修改*p值后,i的值时:%d\n",i); system("pause");}
如图分析:
总代码
#include #include /**指针就是内存地址 内存地址就是指针*/main(){int i =100;int* p = &i; //第一个实验: 如果修改 i 值, p值有变化吗? // 修改i值前,p的值时:0x60fef8// 修改i值后,p的值时:0x60fef8// 得出的结果为不变 // 当我们在次打印p的值时,虽然i的值变为200了 , 但是是打印p的值 , 打印p的值与i的值(100,200) , 没有关系 。/**printf("修改i值前,p的值时:%#x\n",p); i =200;printf("修改i值后,p的值时:%#x\n",p); //第二个实验: 如果修改 p 值, i值有变化吗? // 修改 p 的话是修改地址值,所以定义 int j = 200;// 结果如下:// 修改p值前,i的值时:100// 修改p值后,i的值时:100 /**printf("修改p值前,i的值时:%d\n",i); int j = 200;p = &j;printf("修改p值后,i的值时:%d\n",i); *///第三个实验: 如果修改 i 值, *p值有变化吗?// *p对应的是int类型的占位符 /**printf("修改i值前,*p的值时:%d\n",*p); i =200;printf("修改i值后,*p的值时:%d\n",*p); *///第四个实验: 如果修改 *p 值, i值有变化吗? printf("修改*p值前,i的值时:%d\n",i); // 把地址对应的值改变了 *p = 200;printf("修改*p值后,i的值时:%d\n",i); system("pause");}
- 007 【编程之路扫雷游戏】(C语言实现)
- Web 3.0入门教程
- 世上最杰出程序员,B 语言、Unix 之父嫌计算机发展太慢,让孩子学生物?
- 都21世纪了,还会有人不学C语言吗?
- 如何设置Google Chrome的界面显示语言
- 设定 Chrome 的语言和区域
- C语言之printf简介
- C语言格式输出函数printf详解
- 逆向基础:软件手动脱壳技术入门
- Go语言教程第十集 如何玩转Restful和RPC网络编程