1.執行以下語句,輸出結果為()
char *p1="hello";
char *p2="world";
char *p3="a piece of cake";
char *str=;
printf("%c",*(str[0]+1));
解答:d
為了便於理解,我重新改寫了一下**:
#include using namespace std;
int main();
printf("%s\n", *str);
printf("%c\n", *(str[0]));
printf("%c\n", *(str[0] + 1));
printf("%s\n", *(str + 1));
printf("%c\n", *(str[1]));
printf("%c\n", *(str[1] + 1));
return 0;
}
輸出結果如下:
說明:*str指的是字元陣列的第乙個元素"hello",而*(str+1)是字元陣列的第二個元素"world"
*(str[0])指的是第乙個元素的第乙個字元h,*(str[0]+1)指的是第乙個元素的第二個字元h
*(str[1])指的是第二個元素的第乙個字元w,
*(str[1]+1)指的是第二個元素的第二個字元o
指向陣列的指標
陣列 array 是一系列具有相同型別的資料的集合,每乙份資料叫做陣列元素 element 陣列中的所有元素在記憶體中是連續排列的,整個陣列占用的是一塊記憶體。定義陣列時,要給出陣列名和陣列長度,陣列名可以認為是乙個指標,它指向陣列的第0個元素。在c語言中 我們將0個元素的位址稱為陣列的首位址。in...
指向陣列的指標
乙個陣列儲存在一塊連續記憶體單元中 陣列名就是這塊連續記憶體單元的首位址 第 i 1 個陣列元素的位址可表示為 data i 或 data i 可以通過以下方式為指向陣列的指標賦值 int a 10 pa a 0 或者pa a 乙個指標變數可以指向乙個陣列元素。int ptr,data 10 ptr...
指標 陣列指標 指標陣列 指向指標的指標
程式中一般通過變數名對變數進行訪問操作,其實質是通過位址進行的。對變數的訪問分為直接訪問和間接訪問,如語句 printf d i 執行的時候,根據變數名 與位址的對應關係,找到i的位址,依次取相應的位元組數中的資料 即i的值 把它輸出。這種按照變數位址訪問變數值的方式成為直接訪問 還可以將變數i的位...