c - 我如何从数组指针分配到数组

标签 c arrays pointers

我有这样的指针数组;

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/

相关文章:

c - 检测 Flex 中的注释

php排序数组和排名特定字段

c - 除了返回值之外,在 C 中变量的地址是否必须发送到函数才能修改其值?

c++ - 当从父类(super class)的指针调用时,基类函数不会覆盖父类(super class)函数

c - C语言中的编译错误

c - 了解 C 的排序算法

c++ - 如何测量读取/周期或指令/周期?

c - 如何正确地将 const char 数组分配给结构?

javascript - 如何循环/处理 Javascript Key :Value pairs?

c - "dereferencing"这个词是从哪里来的?