一个简单的程序,哪位高手帮小弟我看看
一个简单的程序,谁帮我看看C/C++ codechar (*name)[30]*name(char*)malloc(sizeof(name))bool i1for(
一个简单的程序,谁帮我看看
C/C++ code char (*name)[30]; *name=(char*)malloc(sizeof(name)); bool i=1; for(int n=0;n<30;n++) { snprintf(name[n],sizeof(name),"test.%d",n+1); }
如上所示,我想把字符串存储在指针数组里面,结果却报错,哪位帮我看看
[解决办法]你的name是一个指针,指向一个数组。你不能 *name=(char*)malloc(sizeof(name));//这样。
你可以使用2级指针
[解决办法]char **name=(char**)malloc(sizeof(char*)*30);
for(int i=0;i<30;++i)
name[i]=(char*)malloc(30);
for(int n=0;n<30;n++)
{
snprintf(name[n],sizeof(name),"test.%d",n+1);
}
[解决办法]越界访问
sizeof(name)大小是指针的空间---4
[解决办法]C/C++ codechar (*name)[30];