我們可以通過下面方式來初始化乙個字串
1.陣列符號方式char arr = "this is array";
char * pointer = "this is pointer";
輸出如下for(i=0;i
<6;i++)
putchar(arr[i]);
putchar('\n');
for(i=0;i
<6;i++)
putchar(pointer[i]);
2.指標加法方式this i
this i
輸出如下for(i=0;i
<6;i++)
putchar(*(arr+i));
putchar('\n');
for(i=0;i
<6;i++)
putchar(*(pointer+i));
3.增量運算子this i
this i
指標用增量運算子,陣列用for迴圈輸出每個char
輸出如下while(*(pointer) != '\0')
putchar(*(pointer++));
陣列修改資料方法如下this
is pointer
輸出如下arr[5] = 'z';
printf("this is array");
printf(": chang to %ss \n","this is array");
printf("%s",arr);
指標修改的話,會存在問題,可能有些編譯器會直接編譯不通過this is
array: chang to this is
array
this zs array
如果編譯通過,可能會有如下輸出pointer[5] = 'z';
printf("this is pointer");
printf(": chang to %ss \n","this is pointer");
printf("%s",pointer);
這原因可能為,編譯器用相同位址來替代this is pointer。所以,我們this zs pointer: chang to this zs pointer
this zs pointer
printf("this is pointer");
中的字串的指向位址也是pointer,所以我們對pointer的修改也會影響到最後的結果。
輸出如下,指標陣列的3對應arrs[3][20]中的3char arrs[3][20]=;
char * pointers[3]=;
printf("%s\n",arrs[1]);
printf("%s\n",pointers[1]);
this
is arr2
this
is pointer2
指標陣列,陣列指標,字串與指標
在研究指標陣列與陣列指標的時候,遇到了這個困惑,後面解答。void test02 char c 4 char p2 4 指標陣列 for int j 0 j 4 j for int i 0 i 4 i 指標陣列是陣列,即乙個陣列中,每個元素都是指標 void test05 注意這一行和最後一行的區別...
字串陣列與指標
思維 於一道題 char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout boolalpha str1 str2 endl 輸出什麼...
陣列 字串與指標
指標變數既可以指向變數,當然也可以指向陣列元素。就是把陣列元素的位址放入指標變數中。陣列元素的指標就是它的位址。用陣列名做函式引數時,實參和形參對應關係有四種。一是實參形參都用陣列名。二是實參形參都用指標變數。三是實參用指標變數,形參用陣列名。四是實參用陣列名,形參用指標變數。在c語言中,也有兩種方...