我需要能够将此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
答案 0 :(得分:3)
您可以这样做:
char **example=array;
当然它不是char *
(您在第一行中提到的),但它确实允许您稍后要求的功能。
---编辑--- 此方法无法满足您的printf要求。在C ++中,你可以构建一些满足这两个要求的奇怪对象(但是使用C ++流,而不是printf),但是你应该解释“大图”,整个事情都有很多XY问题。
答案 1 :(得分:1)
您的要求是互相排斥的。
不可能有一个指向零终止字符串的指针数组,这些字符串同时可以“一次性打印”,就像你的printf
示例一样。
您必须重新考虑您的方法。你现在想要的是不可能的。