我已经手动给出了数组大小,如下所示:
int main(int argc, char *argv[] )
{
char buffer[1024];
strcpy(buffer,argv[1]);
...
}
但是如果参数中传递的数据超过这个大小,可能会产生问题。
这是动态分配内存的正确方法吗?
int main(int argc, char *argv[] )
{
int length;
char *buffer;
length = sizeof(argv[1]); //or strlen(argv[1])?
buffer = (char*)malloc(length*sizeof(char *));
...
}