标签:变量 int 数据类型 学习 地址 printf 指针
指针是什么? 指针就是一个地址地址代表的就是一块内存空间
指针变量是什么? 用来存放指针
#include <stdio.h> #include <stdlib.h> main() { int i =5;// 定义一个int 类型的变量i 值 =5 //%#X表示16进制的地址占位符 printf("i的地址 %#X\n",&i); //获取i的地址,&i就是一个指针 // &i; //定义一个指针变量,数据类型* int* p ; // 指针变量 定义一个int* 类型的变量p //其他两种表示方式:int *p, int * p; p = &i; // 就是把i的指针赋给指针变量p ,现在指针变量p里面存放的内容(数据) 就是i的地址 printf("p里面的内容为(i的地址) %#X\n",p); //*号 操作符 // *号的几种含义 //1 . *号放在某种数据类型的后面,代表就是这种数据类型的指针 int* float* //2 . *号 代表一个乘法符号 3*5 = 15; //3 . *号放在一个指针变量的前面 -> 代表取这个指针变量所存放的地址里面对应的数据 printf("i=%d\n",i); printf("*p的值%d\n",*p); // 改变p的值 会不会影响i的值? //p = NULL; // printf("i=%d\n",i);//5 // 改变i的值 会不会影响p的值? // i = 100; // printf("p里面的内容为(i的地址) %#X\n",p); // 通过上述实验 p和 i 是两个不同的变量 ,改变i的值 不会影响 p的值,同理,更改p的值 也不会影响i的值 // 更改*p的值 会不会影响i的值 // *p = 88; // printf("i=%d\n",i); //88 // 更改i的值 会不会影响 *p的值呢? // i = 99; // printf("*p的值%d\n",*p); //99 //*p 和i 其实代表的是同一个变量,代表是同一块内存空间 system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
从代码中我们可以知道:
-
指针就是地址,而c语言中我们在变量前面加上&符号就可以到地址也就是指针如:int i=9;那么i的指针表示方式是&i
-
指针变量就是用来存放指针的一个变量,如:数据类型* 变量名;如:int * p 这样就是一个指针变量,将我们上面的&i=p这样我们就将i的指针放在了指针变量p中
-
得到指针变量中的值使用符号*,例如我们将上面指针变量p的指针i的值取出来表示就是:*p
-
*p 和i 其实代表的是同一个变量,代表是同一块内存空间
标签:变量,int,数据类型,学习,地址,printf,指针 来源: https://www.cnblogs.com/xingming/p/16525774.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。