首页技术文章正文

c取地址运算【黑马程序员】

更新时间: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所示。

1600417648187_例1运行结果.png

图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;


猜你喜欢:

C语言指针变量类型和大小

c语言指针详解:什么是指针?

C语言培训课程


分享到:
在线咨询 我要报名
和我们在线交谈!