|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- int main()
- {
- char *array[5] = {"FishC", "Five", "Star", "Good", "WoW"};
- char *(*p)[5] = &array;
- int i, j;
- for (i = 0; i < 5; i++)
- {
- for (j = 0; (*p)[i][j] != '\0'; j++)
- {
- printf("%c ", (*p)[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
复制代码
问题:*(*p)[5] = &array中 *(*p)[5]是什么意思
(*p)[i][j]是二维数组指针吗
整个代码是什么意思
在这段代码中, *(*p)[5] 是一个指向数组的指针。 p 是一个指向数组的指针,它指向一个包含5个元素的数组,而每个元素都是一个指向字符的指针。
(*p)[j] 是二维数组指针的一部分。 (*p) 解引用了指针 p ,得到了指向数组的指针。然后, (*p)[j] 取得了数组中的第 j 个元素,这个元素是一个指向字符的指针。
整个代码的作用是打印出数组 array 中的每个字符串。通过循环遍历数组的每个元素,然后再循环遍历每个字符串中的字符,并打印出来。最后,每个字符串打印完后换行。
希望这能解答你的问题!如果还有其他问题,请随时提问。
|
|