1 題目
功能:使用指針的指針輸出字符串
描述:
使用指針的指針輸出字符串。
首先要使用指針數組創建一個字符串數組,然后定義指向指針的指針,使其指向字符串數組,並使用其輸出數組的字符串
2 思路
char **p;
這里指向指針的指針,表示指針變量 p 是指向一個指針變量。*p 就表示 p 指向另外一個指針變量,即一個地址。
**p 表示 p 指向指針變量指向的對象的值。 例如:* (p+1) 表示 accounts[1] 的內容,指向 accounts[1] 的首地址
3 代碼
#include <stdio.h>
#define N 5
/**
函數:fun()
功能:使用指針的指針輸出字符串
描述:使用指針的指針輸出字符串。
首先要使用指針數組創建一個字符串數組,然后定義指向指針的指針,使其指向字符串數組,並使用其輸出數組的字符串
**/
int main(int argc, char const *argv[]) {
char *accounts[] = {
"你好 C語言 1",
"你好 C語言 2",
"你好 C語言 3",
"你好 C語言 4",
"你好 C語言 5"
}; // 指針數組創建字符串數組
char **p;
p = accounts; // 注意這里一定是二重指針來指向accounts
for (int i = 0; i < N; ++i) {
printf("%s\n", *(p+i)); // 使用指針將字符串數組中的字符串打印出來
}
}
示例結果:
$ gcc ex015.c -o demo
$ ./demo
你好 C語言 1
你好 C語言 2
你好 C語言 3
你好 C語言 4
你好 C語言 5
