变量内容和内存位置的区别相似“你家”和“你家门牌号”。每个内存位置都定义了可以使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。所以&也叫取地址符。指针
int var = 20; /* 实际变量的声明(定义了变量内容) */ //Content of var variable: 20 printf("Content of var variable: %d\n", var ); //Address of var variable: 0x7ffeed879958 printf("Address of var variable: %p\n", &var );
int var = 20; /* 实际变量的声明 */ int *ip; /* 指针变量的声明 */ ip = &var; /* 在指针变量中存储 var 的地址 */ /* 在指针变量中存储的地址 */ //Address stored in ip variable: 0x7ffee12c4958 printf("Address stored in ip variable: %p\n", ip );
int var = 20; /* 实际变量的声明 */ int *ip; /* 指针变量的声明 */ ip = &var; /* 在指针变量中存储 var 的地址 */ /* 在指针变量中存储的地址 */ // Value of &var variable:: 0x7ffeee04a958 printf("Value of &var variable:: %p\n", &var); /* 使用指针访问值 */ // Value of *ip variable: 20 printf("Value of *ip variable: %d\n", *ip );