如果我使用strcpy()
函数和赋值运算符,它们有什么区别吗?
char word[][40],*first;
下面是2个示例。
*first=word[0];
strcpy(first,&word[0]);
答案 0 :(得分:5)
strcpy
执行深层复制。它将包含在地址等于指针值的内存中的数据复制到地址等于第二个指针的内存中。
Assignment只是分配第一个指针的第二个指针值。
这对您来说是个小数字:
A -> "some data "
B -> "some other data "
分配后:
A -> "some data "
/
/
B "some other data "
strcpy之后:
A -> "some data "
B -> "some data "
请注意,strcpy
要复制到的内存必须事先分配。