易百教程

地址运算符

在C语言中,地址运算符是,返回内存中的地址。在前面章节中,一直在使用scanf()函数中使用运算符地址。
以下程序输出一些变量的地址:

示例代码

#include<stdio.h>

int main(void)
{
  // 定义一些整数类型变量
  long a = 1L;
  long b = 2L;
  long c = 3L;

  // 定义一些浮点数类型变量
  double d = 4.0;
  double e = 5.0;
  double f = 6.0;

  printf("long类型的变量占用 %lu 个字节.", sizeof(long));
  printf("\n以下是long类型的一些变量的地址:");
  printf("\na变量的地址是: %p ,b变量的地址是: %p", &a, &b);
  printf("\nc变量的地址是: %p", &c);
  printf("\n\ndouble类型的变量占用 %lu 个字节.", sizeof(double));
  printf("\n以下是double类型的一些变量的地址:");
  printf("\nd变量的地址是: %p ,e变量的地址是: %p", &d, &e);
  printf("\nf变量的地址是: %p\n", &f);
  return 0;
}

执行上面示例代码,得到下结果:

hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
long类型的变量占用 8 个字节.
以下是long类型的一些变量的地址:
a变量的地址是: 0x7ffee3419528 ,b变量的地址是: 0x7ffee3419530
c变量的地址是: 0x7ffee3419538

double类型的变量占用 8 个字节.
以下是double类型的一些变量的地址:
d变量的地址是: 0x7ffee3419540 ,e变量的地址是: 0x7ffee3419548
f变量的地址是: 0x7ffee3419550