strcat函数用法 关于strcat函数?
关于strcat函数?一般来说,对于strcat,第一个参数指向的内存地址必须是可写的。因此,S1=“ABC”的实际功能是将常数区中“ABC”的第一个地址赋给S1,并且常数区中的内存不允许顺序修改,因
关于strcat函数?
一般来说,对于strcat,第一个参数指向的内存地址必须是可写的。因此,S1=“ABC”的实际功能是将常数区中“ABC”的第一个地址赋给S1,并且常数区中的内存不允许顺序修改,因此strcat的执行将失败。它作为堆栈内数组更改为S1[]。生存空间只是在函数的生命周期中,在函数的生命周期中,内存地址是可读写的,因此可以成功地进行更改。类似地,如果您将代码修改为以下形式,您还可以成功地执行char*S1=(char*)malloc(6*sizeof(char))strcpy(S1,“ABC”))strcat(S1,“def”)put(S1)free(S1)。Malloc分配存储在堆上,堆是用户管理的内存区域,也是可读写区域。