❶ c語言 如何輸出指針所指向空間的大小
C語言無法輸出指針所指向的空間的大小!
一般,我們獲取一個變數所佔內存空間的方法為:sizeof(變數名或類型名),如:
int a;
int aa[10];
int *p=aa;
printf("sizeof(int)=%d\n", sizeof(int) ); //現在的機器一般為32位或64位機,int類型佔四個位元組,所以輸出4
printf("sizeof( a )=%d\n", sizeof(a) ); //輸出4
printf("sizeof( aa )=%d\n", sizeof(aa) ); //輸出4*10=40
printf("sizeof(p)=%d\n", sizeof(p) );//輸出4 ?見下面說明
printf("sizeof(int *)=%d\n", sizeof(int *) );//輸出4 ?見下面說明指針變數定義:用來存儲內存地址的變數。指針變數中存儲的是內存地址數據(一個整型數),而不是真正的數據,真正的數據是在地址中存放的。所以,指針變數實際上就是個整型變數,用sizeof命令去獲取任意類型的指針變數都會得到4。
指針變數存儲的是一個存儲空間的首地址,究竟這個空間有多大,可以存儲多少個數據,這是分配空間時所決定的。單獨看一個地址值,是看不出其空間大小的。如:
int
a;
int
aa[10];
int
*p
;
//定義一個指針變數
p=aa
;
//指向數組aa,aa的數據空間是40位元組,10個整數
p=&a;
//指向一個整型變數,它的存儲空間是4位元組,一個整數
❷ 在C語言中如何輸出空格
空格可以直接輸入,例如System.out.println(" ");而如果用String表示那些符號的話,空格直接就是 就行。
\ 反斜杠' 單引號'
" 雙引號"
uxxxx 以十六進制指定Unicode字元輸
dxxx 以八進制指定Unicode字元輸出
倒退一個字元
f 換頁
換行
游標移至行首
跳格(一個TAB鍵)
(2)c語言輸出空間擴展閱讀
運算符是一些特殊的符號,主要用於數學函數、一些類型的賦值語句和邏輯比較方面。特殊字元的表示方法:
回車('u000D')
d數字等價於[0-9]
D非數字等價於[^0-9]
s空白符號[ x0Bf ]
S非空白符號[^ x0Bf ]
e Escape
一個單詞的邊界
B一個非單詞的邊界
G前一個匹配的結束
❸ C語言 字元串的輸出,為什麼輸出那麼多『燙』呢
輸出"燙燙燙燙"是因為vc會自動把未用函數的局部變數空間按位元組全部初始化為CC。
而定義的字元數組空間不夠,所以就佔用了那部分不屬於自己的空間,因為cout輸出char*是要遇到空字元才停止的,所以便把那些垃圾都打出來了。
即是說在最後沒有字元串結束標志'