我有像这样的指针数组;
char * ptr [2] = {“my”,“phone”}; char array [20];
我想将* ptr [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];