我如何从数组的指针分配给数组

时间:2015-03-07 20:29:59

标签: c arrays pointers

我有像这样的指针数组;

char * ptr [2] = {“my”,“phone”}; char array [20];

我想将* ptr [1]分配给数组。我怎么办?

1 个答案:

答案 0 :(得分:0)

以下内容将复制"电话"进入'阵列'。但不确定这是你真正想做的事情 -

strcpy(array, ptr[1]);

请注意' * ptr [1]'显然不是ptr [1]。 ' * PTR [1]'就像说"取消引用名为ptr"的数组第二位所包含的指针。 ptr [1]是一个字符串(以' \ 0'字节结尾的缓冲区),其类型为char *;当你取消引用它时,你得到一个字符 - ' p'在这种情况下。

你也没有说出你指的是什么意思,所以我认为你的意思是你想要的第一个元素来自' ptr'数组已复制,需要' strcpy'。如果你真的想要数组[0]中来自ptr [1](意思是' p')的第一个字符,你可以这样做:

array[0] = *ptr[1];
相关问题