简单阐述变量、指针变量、地址、内存单元等名词之间的联系。为了便于理解,不一定严谨。
/*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/
指针就是内存的地址,可以直接粗暴的理解为“指针就是地址”,因此指针只能存放地址。
1 符号说明:
&:取地址符
*:取内容符
2 课本定义(准确而难懂):
如果定义一个变量,那么在程序在进行编译时,系统就会给这个变量分配内存单元(例如int整型数据占4个字节,即分配4个内存单元),那么该变量的地址就被称为该变量的指针,该变量中的数据就是内存单元的内容。
3 实例说明:
运行结果:
4 个人总结
(主要结合结合3中的例子)
1、 变量:i、j
2、 指针变量(名):p1、p2
3、 指针型变量p1、p2指向整型变量i、j
4、 指针型变量p1、p2是用来存放地址的,并且取地址必须要用到取地址符&;而在取内容时必须用到取内容符*
5、 int *p1中,int的意思表示所存放地址是用来放整型数的
6、 变量(i、j),指针变量(p1、p2)均有自己的地址,只不过指针变量(p1、p2)可以存放变量(i、j)的地址。(例如变量i的地址为001,则指针变量p1=001,因为通过p1=&i操作,p1取走了i的地址。*p1=1。)
总而言之:指针就是地址
参考资料:
《C语言完全手册》
C程序设计-第十四次课-第八章-1-指针与指针变量(重传清晰版)_哔哩哔哩_bilibili