我正在爲測試字符串文字和整數數組編寫此代碼。我需要有人幫助我檢查並減輕我的負擔。可以指向一個整數數組用於修改數組嗎?
1)。
char NUM[] = "ABC";
char *p_NUM=NUM;
NUM[0]='D';
puts(p_NUM);
return 0;
如果您從字符串文字創建數組,那麼您可以對其進行修改。
2)。
char *p_NUM="ABC";
p_NUM[0]='D';
puts(p_NUM);
return 0;
指向字符串文字的變量不能用於更改字符串的內容。所以這一個會返回一個錯誤。 3)。
int NUM[] = {1, 2, 3};
int *p_NUM = NUM;
p_NUM[0]=4;
puts(p_NUM);
printf("%i\n",p_NUM);
int i;
for(i=0;i<4;i++)printf("%i",p_NUM[i]);
return 0;
的puts(p_NUM);
和printf("%i\n",p_NUM);
結果是相當有趣的。我不知道爲什麼。 4)。
int *p_NUM = { 1, 2, 3 };
p_NUM[0] = 4;
int i;
for (i = 0; i < 4; i++)
printf("%i", p_NUM[i]);
return 0;
這一個編譯器返回一個錯誤,這意味着指向一個整數數組不能用於修改數組,正確嗎? 5)。
int NUM[] = { 1, 2, 3 }; int * p_NUM = NULL; // integer pointer
p_NUM = NUM; // integer pointer pointing to integer array
如果我這樣寫,它是一樣的嗎?
int NUM[] = { 1, 2, 3 };
int * p_NUM = NUM; // integer pointer pointing to integer array
你覺得呢'INT * p_NUM = {1,2,3};'是幹什麼的? – 2015-04-02 08:57:59
我不知道。 – 2015-04-02 09:49:11