close

在c中 , sizeof() function可以回傳該變數的位元組數目

for example:

int a;

sizeof(a);   //sizeof(a) == 4 , 表示a這個變數為4個bytes.

而如果是ㄧ個array , 

char a[] = "string";

sizeof(a)會等於7 , 因為每個字元為一個bytes , 且最後面會有一個'\0' , 所有共7個bytes.

那如果是pointer呢?

char *b = a;

sizeof(b)會等於....? , 因為在c中 , pointer就像是ㄧ個儲存位址的變數 ,

所以若是在64bits的machine中 , 則每個address為64bits , 所以sizeof(b)會等於8.

但若是32bits的machine , 那麼sizeof(b)則是會等於4.

 

 

 

arrow
arrow
    全站熱搜

    JerryCheng 發表在 痞客邦 留言(0) 人氣()