我有这样的指针数组;
char* ptr[2]={"我的","电话"}; 字符数组[20];
我想将 *ptr[1] 分配给 in array 。我该怎么办?
最佳答案
以下代码会将“phone”复制到“array”中。但不确定这就是你真正想做的 -
strcpy(array, ptr[1]);
请注意,显然'*ptr[1]'不是ptr[1]。 '*ptr[1]' 就像是说“取消引用名为 ptr 的数组第二个位置中包含的指针”。 ptr[1] 是一个字符串(以'\0'字节结尾的缓冲区),其类型为 char *;当您取消引用它时,在这种情况下您会得到一个字符 - 'p'。
您也没有说出“分配”的确切含义,所以我假设您的意思是您想要复制“ptr”数组中的第一个元素,这需要“strcpy”。如果您确实想要 array[0] 中 ptr[1] 的第一个字符(即“p”),您可以这样做:
array[0] = *ptr[1];
关于c - 我如何从数组指针分配到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28919654/