0

我需要能够将此 char* array[SIZE] 转换为 char* 示例。我怎样才能做到这一点?我的问题是我需要能够以类似方式的指针分别管理数组的内容例如,如果我有:

array[0] = "dog"
array[1] = "cat"
array[2] = "one"

我希望能够通过像这样增加指针的值来访问这些元素中的每一个

example = "dog"
example++ = "cat"
example++ = "one"

提前致谢!!

我的主要问题是我需要让所有这些值都由一个指针指向,这样当我打印我的指针时就会有这样的东西:

printf("example: %s\n", example);
output: example: dog cat one
4

2 回答 2

2

你可以简单地做:

char **example=array;

当然它不是char *(你在第一行中问过的),但它确实允许你稍后要求的功能。

--- 编辑 --- 此方法无法满足您的 printf 要求。在 C++ 中,您可以构建一些满足这两个要求的奇怪对象(但使用 C++ 流,而不是 printf),但是您应该解释“大图”,这整个事情都闻到了很多 XY 问题。

于 2013-11-04T17:46:49.957 回答
1

您的要求是相互排斥的。

printf正如您的示例中那样,不可能有一个指向零终止字符串的指针数组同时“一次性”打印。

你将不得不重新考虑你的方法。在这一点上你想要什么是不可能的。

于 2013-11-04T18:01:38.337 回答