變量內容和內存位置的區別相似「你家」和「你家門牌號」。每個內存位置都定義了可以使用連字號(&)運算符訪問的地址,它表示了在內存中的一個地址。所以&也叫取地址符。指針
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 );