30/09/2018, 18:41
Tìm Kích Thước Của Biến Con Trỏ Struct
struct S_Record
{
char *name_pointer; // 4 byte
char all[13]; // 13 byte
int foo; // 4 byte
};
struct S_Record *pRecord = createRecord(...);
Mục đích là em muốn tìm kích thước vùng nhớ (memory in bytes) mà thằng pRecord nó trỏ đến, có cách nào tìm nó không ạ. E giả sử cái hàm createRecord() nó return (struct S_Record*)malloc(sizeof(struct S_Record) * 10);
Bài liên quan
Đoán bừa : vùng nhớ dài 21 byte hoặc 25 byte hoặc 29 byte. Bao gồm :
name_pointer : 4 hoặc 8byte (32 hoặc 64 bit OS).
all : 13 byte.
foo : 4 hoặc 8 byte ( 32 hoặc 64 bit OS).
4 + 13 + 3 + 4
keyword để gu gồ là data alignment
Thanks all,
Theo Tri’ thi voi OS 32 bit: 4 + 13 + 3 + 4 minh nghi la ket qua dung.