的存儲位置,我有計劃更改常量指針
void alloc(char **p)
{
*p=(char*)malloc(sizeof(char)*3);
(*p)[0]='a';
(*p)[1]='f';
(*p)[2]='\0';
}
main()
{
char p[]="hrrgr";
alloc(&p);
printf("%s",p);
}
不打印輸出。請解釋一下。 我通過傳遞char * p知道;和alloc(& p)將會訣竅。但我的問題的目的是瞭解我得到的輸出。
在某些情況下將數組衰減爲指針,但這不是這些情況之一。改用char *。 – Bathsheba
我假設你看到了來自編譯器的警告,你正在傳遞'char(*)[]'作爲期望char **的參數? – lurker