c - 将指针数组转换为数组

标签 c arrays pointers

我需要能够将此 char* 数组 [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

最佳答案

你可以简单地做:

char **example=array;

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

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

关于c - 将指针数组转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19773797/

相关文章:

java - 将两种类型的数组转换为HashMap、TreeMap、LinkedHashMap

c - 指针之间的数据

c - C99 标准是否允许将变量分配给自身?

c - 为什么我不能分配一个 const 值,我应该怎么做?

c - 如何使用 fputs C 在 .txt 上插入变量

子进程执行整个过程

c - 在 C 中使用 "gets"作为字符串输入

javascript - 我如何对数组中的所有数组进行减法和求和

php - 从三个值数组计算当前库存

c - 解释以下 Turbo C 代码中如何以及为何使用指针