使用指针的指针输出字符串

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
posted @ 2021-11-10 18:23  技术gogogo  阅读(611)  评论(0)    收藏  举报