C 将指针数组转换为数组
我需要能够将这个char*数组[SIZE]转换为char*示例。我该怎么做? 我的问题是,我需要能够以类似指针的方式分别管理数组的内容 例如,如果我有: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" 提前谢谢 我的主要问题是,我需要让指针指向所有这些值,这样,当我打印指针时,
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的答案就会变成你所需要的