請問各位大神:
char *p = new char[20];
對於下面兩條語句
strcpy(p, "helloworld");和p ="helloworld");有什麼不同嗎?我在vs上執行第一條語句是正常的,執行第二條會發出叮的警告聲,why?
只是發出警告,並不是錯誤。
其實也很容易理解:你在聲明p的時候申請了一個char型數組,此時p指針已經初始化,獲得了地址空間。
然而,在p = "helloworld"這一條語句中,又要強行改變p指向的地址(即系統自動為helloworld分配的內存空間首地址),當然會警告啦~