更新时间:2020-09-18 来源:黑马程序员 浏览量:
在程序中定义变量,系统会为变量在内存中开辟内存空间,用于存储变量的值,每个变量在内存中存储的位置有唯一的编号,编号就是变量的内存地址。C语言支持通过取地址运算符“&”获得变量的地址,其语法格式如下:
&变量
下面通过一个案例演示取地址运算符的使用,如例1所示。
例1 addr.c
#include <stdio.h> int main() { int a = 1; int* p = &a; //定义指向变量a的指针变量p,并取变量a的地址为其赋值 printf("变量a内存地址:%p\n", &a); printf("指针变量p存储的地址:%p\n",p); return 0; }
例1运行结果如图1所示。
图1 例1运行结果
在例1中,第4行代码定义了一个int类型的变量a;第5行代码定义了一个int*类型的指针变量p,通过取地址运算“&a”将变量a的地址赋值给指针变量p。第6~7行代码分别输出&a与指针变量p的值,由图5-5可知,&a的值与指针变量p的值是相同的。
除了取变量的地址为指针变量赋值外,同类型指针变量之间也可以进行赋值。示例代码如下:
int* p = &a; int* q = p;
猜你喜欢:
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19