在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