1 C语言中一个结构体在内存中占的字节数如何计算? 先看下面一个结构体:
struct stru {
int a;
char c;
};
那么这个结构体在内存中几个字节呢?初学者可能说,int是4个字节,char是1个字节,那么这个结构体就是5个字节。很遗憾,这个结果是错误的。
其实这个结构体的长度是8个字节。
这牵涉到一个结构体字节对齐问题 ,具体结构体为什么要字节对齐,又是如何对齐的呢?
稍后我们会在我们的网站上详细讲解下结构体字节对齐的问题。请关注我们的网站:www.coderonline.net
2 问:如果有两个类,分别在两个头文件中定义,但是这个两个类中的成员函数分别要引用对方,但是头文件一但互相包含,就会出现C2061错误,不识别类,我问我同学,他说他用互相友元解决了。我想问一下为什么友元可以。
答:其实这是类的封装性造成的,因为友元破坏了封装性所以可以。 问:有没有别的办法,不使用友元 答:对方对象调用对方公共方法