计算结构体、数组、指针的sizeof
1. 結構體的sizeof
?
題目:
sturct aa
{
in num;
char name[10];
};
struct bb
{
int a;
float b;
struct aa c;
};
struct bb a;
計算 sizeof(a) 的值
----------------------
計算過程:
結構體a為bb類型,計算sizeof(a),就是將bb類型中,所有的成員的sizeof求總和。如果有數組,則乘上數組的長度。
所以
1. bb 中a的長度 2(int);
2. bb 中b的長度 4(float);
3. bb 中的c又為結構體,其類型為aa. 其長度為:
? ? num的長度 2(int)
? ? name的長度 為 1 * 10 = 10 (char長度為1)
所以總長度為 2 + 4 + 2 + 10 = 18. ?即sizeof(a) =18
==========================================================================
2. 數組和指針
double a;
double *b;
double c[5];
char* pt[3];
char pq[3];
分別計算 a, b , c, pt, pq 的 sizeof
解答:
size(a) = 8;
size(b), 為求指針的sizeof,永遠為2;
size(c), 8 * 5 = 40;
size(pt), 首先pt為一個數組,長度為3。并且里面的元素都是指向char的指針。
所以sizeof(pt) = 3 * 2 = 6
sizeof(pq), = 3
?
總結
以上是生活随笔為你收集整理的计算结构体、数组、指针的sizeof的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔记本电脑CPU低压、标压、高压的区别
- 下一篇: 碎屏险怎么理赔