我想知道我可以使用不带字符的char指针作为memcpy中的目标。示例:我想将具有特定大小的已定义长度的char数组中的数据复制到另一个数组中,但是我想将其定义为没有特定大小的指针。
char * ptr_1;
char arr[4] = "Data";
memcpy(ptr_1, arr, 4); // IS it allowed to do this?
不,你不能那样做。如果这样做,它将调用未定义的行为,因为ptr_1
指向的地址是行列式的,并且您不拥有它。
您既可以分配静态存储空间来复制结果,也可以动态分配存储空间。