天天看点

练习34 指针数组 多重指针

练习34 指针数组 多重指针

练习34

考试规则:点击你认为正确的选项

01 要求:

通过指针数组操作元素

02 程序示例如下:

//通过指针数组操作元素
#include
int main(){
int a = 16, b = 55, c = 100;
//定义一个指针数组
int *arr[3] = { &a, &b, &c };
//也可以不指定长度,直接写作 int *arr[]

//定义一个指向指针数组的指针
int **parr = arr;
printf("%d, %d, %d\n", *arr[0], *arr[1], *arr[2]);


printf("%d, %d, %d\n", **(parr + 0), **(parr + 1), **(parr + 2));
printf("%d, %d, %d\n", *parr[0], *parr[1], *parr[2]);
//**(parr + 0) 等价 *parr[0]


//指针数组还可以和字符串数组结合使用
char *str0 = "hello world";
char *str1 = "test";
char *str2 = "C Language";
char *str[3] = { str0, str1, str2 };
printf("%s\n%s\n%s\n", str[0], str[1], str[2]);
printf("%s\n%s\n%s\n", *(str + 0), *(str + 1), *(str + 2));
// *(str + 0) 等价 str[0]

return 0;
}      

03:输出:

16, 55, 100

16, 55, 100

16, 55, 100

hello world

test

C Language

hello world

test

C Language