2023年9月9日 星期六

C語言用sizeof計算struct空間大小要注意對其

 C語言用sizeof計算struct記憶體的大小時,要注意4倍對其的狀況

 如下圖

 

s1實際上只有宣告786個byte,但是786不會是四的整數倍,所以實際上會占用788個byte的空間

 若直接for迴圈  sizeof(s1)  +printf印s1的全部data,就會印超出2byte的data,要指標塞東西或是記憶體複製時就有可能產生狀況

 

 

 

沒有留言:

張貼留言