雜記:關於指針的學習

問題描述:衆所周知,sizeof可以取變量所用內存空間大小。sizeof(數組)時返回的是數組元素的數量,那當我們用指針數組時,能通過sizeof來獲取指針數組中元素的數量嗎。

先查閱官方C++的docs,
依照文檔寫測試例程

比如:
char *str="hello world";
printf("%d",sizeof(str));

返回值爲4,即指針的大小
這樣操作呢?
char *str="hello world";
printf("%d",sizeof(*str));

發現返回值爲1,即一個char字符型的空間大小。

總結:不能通過sizeof來取指針數組中的元素個數。sizeof指針變量,只能得到指針指向的頭個元素內存大小或是指針的大小(爲4)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章