Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将指针数组转换为数组_C_Arrays_Pointers - Fatal编程技术网

C 将指针数组转换为数组

C 将指针数组转换为数组,c,arrays,pointers,C,Arrays,Pointers,我需要能够将这个char*数组[SIZE]转换为char*示例。我该怎么做? 我的问题是,我需要能够以类似指针的方式分别管理数组的内容 例如,如果我有: array[0] = "dog" array[1] = "cat" array[2] = "one" 我希望能够通过增加指针的值来访问这些元素中的每一个 像这样 example = "dog" example++ = "cat" example++ = "one" 提前谢谢 我的主要问题是,我需要让指针指向所有这些值,这样,当我打印指针时,

我需要能够将这个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++流,而不是PrtTf),但是你应该解释“大图”,这整个事情闻起来有很多XY问题。
char **example=array;
当然,它不是一个
char*
(您在第一行中询问过),但它确实允许您稍后要求的功能

---编辑--- 此方法无法满足您的printf要求。在C++中,你可以建立一些满足两个需求的奇怪对象(但是C++流,而不是PrtTf),但是你应该解释“大图”,这整个事情闻起来有很多XY问题。
char **example=array;
当然,它不是一个
char*
(您在第一行中询问过),但它确实允许您稍后要求的功能

---编辑--- 此方法无法满足您的printf要求。在C++中,你可以建立一些满足两个需求的奇怪对象(但是C++流,而不是PrtTf),但是你应该解释“大图”,这整个事情闻起来有很多XY问题。
char **example=array;
当然,它不是一个
char*
(您在第一行中询问过),但它确实允许您稍后要求的功能

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

< P>你的要求是互斥的。 不可能像您的
printf
示例中那样,让指向以零结尾的字符串的指针数组同时“一次性”打印


你必须重新考虑你的方法。此时您想要的是不可能的。

您的要求是相互排斥的

不可能像您的
printf
示例中那样,让指向以零结尾的字符串的指针数组同时“一次性”打印


你必须重新考虑你的方法。此时您想要的是不可能的。

您的要求是相互排斥的

不可能像您的
printf
示例中那样,让指向以零结尾的字符串的指针数组同时“一次性”打印


你必须重新考虑你的方法。此时您想要的是不可能的。

您的要求是相互排斥的

不可能像您的
printf
示例中那样,让指向以零结尾的字符串的指针数组同时“一次性”打印



你必须重新考虑你的方法。在这一点上,您想要的是不可能的。

我这样做时遇到的问题是,我得到了一个分段错误。我怎样才能避免seg错误?@user2913269:我怎么知道?这一切都取决于你的代码的其余部分。@AndreyT:这一要求是在我的答案发布后添加的。Matteo对此我深表歉意,但我忘了提到我的程序必须能够逐字移动指针,并在我运行时使用该值go@user2913269:以上答案中的指针将逐字移动。但是,这些单词不会存储为一个字符串。它们将作为单独的单词存储。你的最后一个要求——一次打印所有单词的能力——是没有意义的部分,使整个事情变得不可能。去掉这个奇怪的要求,Matteo的答案就完全符合你的需要了。我用这种方法遇到的问题是,我得到了一个分段错误。我怎样才能避免seg错误?@user2913269:我怎么知道?这一切都取决于你的代码的其余部分。@AndreyT:这一要求是在我的答案发布后添加的。Matteo对此我深表歉意,但我忘了提到我的程序必须能够逐字移动指针,并在我运行时使用该值go@user2913269:以上答案中的指针将逐字移动。但是,这些单词不会存储为一个字符串。它们将作为单独的单词存储。你的最后一个要求——一次打印所有单词的能力——是没有意义的部分,使整个事情变得不可能。去掉这个奇怪的要求,Matteo的答案就完全符合你的需要了。我用这种方法遇到的问题是,我得到了一个分段错误。我怎样才能避免seg错误?@user2913269:我怎么知道?这一切都取决于你的代码的其余部分。@AndreyT:这一要求是在我的答案发布后添加的。Matteo对此我深表歉意,但我忘了提到我的程序必须能够逐字移动指针,并在我运行时使用该值go@user2913269:以上答案中的指针将逐字移动。但是,这些单词不会存储为一个字符串。它们将作为单独的单词存储。你的最后一个要求——一次打印所有单词的能力——是没有意义的部分,使整个事情变得不可能。去掉这个奇怪的要求,Matteo的答案就会变成你所需要的