让我们说我们有一系列指针:
char *ptr[30];
现在这个工作正常,似乎没有做任何意想不到的事情!我可以轻松输入名字.
scanf("%s", ptr[1]);
scanf("%s", ptr[2]);
scanf("%s", ptr[3]);
printf("%s\n", ptr[1]);
printf("%s\n", ptr[2]);
printf("%s\n", ptr[3]);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果一个指针可以用这种方式来存储名称的结尾数,那么为什么要使用malloc呢?在这种情况下,ptr [1]不指向输入中的字符,而是指向新输入本身.例如,如果ptr有mukul,ptr [1]应该指向'u',如果在指定这样的指针时没有分配空间,那么限制是多少?
可能重复:
指向数组/数组指针消歧的C指针
有什么char (*p)[4];不同char *p[4];?