在做這道題時: 32位環境下,int *p=new int[10];請問sizeof(p)的值為()A、4 B、10 C、40 D、8 我以為正確答案為C,int類型為32位,占四個字節,10個自然就是40 ...
數組名本身是個地址常量,但是某些特殊情況下它的語義可以發生改變。例如sizeof a ,這時a表示整個數組對象 這里指語法對象,不是指類的實例 而不是這個常量本身。基於這個語義,對數組名取地址也是合法的,對於數組a來說 amp a的結果等於a這個地址常量本身的值。這是C C 標准委員會為了維護語法對象a作為一個左值 l value 總可以取地址這條原則的妥協。 運行結果 。 解釋:char st ...
2013-08-27 20:39 0 4473 推薦指數:
在做這道題時: 32位環境下,int *p=new int[10];請問sizeof(p)的值為()A、4 B、10 C、40 D、8 我以為正確答案為C,int類型為32位,占四個字節,10個自然就是40 ...
sizeof數組名和字符指針是有區別的。 代碼沒有啥實際意義,就是為了看一下sizeof數組名和字符指針的區別。 結果為: length:8length:2048length:8length:8 當數組名作為函數參數傳遞時,會退化為字符指針。 ...
; } sizeof(指針),sizeof(數組名)的區別: 例子: #include<iostr ...
",sizeof(arr)); 輸出結果為56,4,表示最后長度為14的數組。 數組名代表元素的首地 ...
作者:SHI家的魚 鏈接:https://www.zhihu.com/question/41805285/answer/202040382 來源:知乎 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。 1. 己址 數組和指針,都是有自己的地址 ...
一,首先我們先分析下數組名和數組名取地址的區別。 我們都知道數組名是數組的首地址,然而對數組名取地址又是什么那?看下面一段程序你就會懂的。 #include "stdafx.h" #include<stdio.h> using namespace ...
,*(a+2)=%c\n",a[2],*(a+2)); printf("sizeof(p)=%d\n",s ...
我相信很多人都跟我一樣被某些書害的不淺,在C語言中一直還把指針跟數組名混為一談。其實它們跟本就是兩樣的東西,指針就是指針,數組就是數組,網上也有很多大牛作過很多非常深入的討論,但是個人感覺有時候把問題想得太復雜了反而不好,尤其是對於新手,因為我們新手很難搞懂編譯器背着我們到底都干了些 ...