&符号在C语言中主要有两种用途:
1. 取地址符号:&符号可以获取变量在内存中的地址,也就是所谓的“取地址符号”。
例如:
```c
int a = 10;
printf("a变量在内存中的地址是:%p\n", &a);
```
输出:
```
a变量在内存中的地址是:0x7fff5fbff590
```
这里的%p是用于输出地址的格式控制符,输出的地址会以十六进制的形式显示。
2. 取值符号:&符号也可以用于取结构体、共用体或数组等复合数据类型中的某个成员的地址。
例如:
```c
struct Student {
char name[20];
int age;
};
struct Student stu;
strcpy(stu.name, "小明");
stu.age = 18;
printf("stu结构体中name成员的地址:%p\n", &stu.name);
printf("stu结构体中age成员的地址:%p\n", &stu.age);
```
输出:
```
stu结构体中name成员的地址:0x7fff5fbff580
stu结构体中age成员的地址:0x7fff5fbff590
```
这里&符号用于取得结构体中某个成员的地址。通过%p将地址以十六进制的形式输出。