0
我很困惑C如何在內存中存儲數組。從下面的例子來看,str1的地址等於它的值。惠特,我正在解釋的結果爲:內存地址& str1包含地址本身的值。但事實並非如此,因爲從其他例子中我看到str1的地址包含字符串的第一個值,在本例中爲「H」。陣列名稱的C內存位置
所以我的問題可以是:str1的地址存儲在哪裏?
#include <stdio.h>
int main(int argc, char const *argv[]) {
char str1[] = "Hello World";
printf("%d %d %c\n",&str1,str1,str1[0]);
return 0;
}
當你說「str1的地址」時,你到底意味着什麼? –
'str1'是一個數組,因此在這裏使用該名稱會導致其地址。 '&str1'的計算結果與'str1'的值相同。 'str1 [0]'是它的第一個元素的值。 –
@PaulOgilvie'&str1'和'str1'的計算結果相同但值不同。 –