#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char str[] = "Hello"; char *p = str; int n = 10; printf("sizeof(str) = %d\n", sizeof(str)); printf("sizeof(p) = %d\n", sizeof(p)); printf("sizeof(int) = %d\n", sizeof(n)); return 0; }執行結果
sizeof(str) = 6 sizeof(p) = 8 sizeof(int) = 4
1. str[]: 宣告字元陣列時,會自動在字串後加一個換行字元'\n',ASCII為10,所以原本的字元數還需要加一個換行字元,才是整個字元陣列的長度。
2. p: 宣告指標主要用來存放位址使用,位址的空間會隨著系統是32位元或64位元而改變,如果系統是32位元,則指標長度是4 bytes,如果系統是64位元,則指標長度為8 bytes。
3. int: 宣告整數時,長度為4 bytes。
沒有留言:
張貼留言