我需要一些关于指针和数组的指导
char *ptr;
char Array1[20];
ptr = malloc(sizeof(Array1));
Run Code Online (Sandbox Code Playgroud)
现在怎样才能将整个Array1放入ptr?
我试过strcat,strncat,strcpy.我也尝试了一个循环然后使用提到的函数并添加数组的每个元素,什么也没有
int a = 0
while ( a <= sizeof(Array1) )
{
strcpy(ptr, Array1[a]);
a++;
}
Run Code Online (Sandbox Code Playgroud)
我真的需要知道如何将数组转换为指针.
用途memcpy():
ptr = malloc(sizeof(Array1));
if (ptr)
{
memcpy(ptr, Array1, sizeof(Array1));
}
Run Code Online (Sandbox Code Playgroud)
该str*系列函数依赖于的空终止字符的存在.
如果Array1确实包含一个字符串,由空字符终止,那么strcpy()和strncpy()将正常运行.
strcat()要求目标缓冲区中存在空终止符以及源缓冲区才能正常运行.
如果Array1不包含空终止字符串,则不要使用这些str*函数,memcpy()而是使用.