Tencent-电话面试C语言问题汇总
-
1、四个头文件分别为:a.h b.h c.h d.h。其中:b.h和c.h都包含a.h;d.h需要包含b.h和c.h;如何解决此时d.h重复包含a.h的问题?
- 在所有会被包含的头文件中加入
- ifndef __DEF_XXX_H
- define __DEF_XXX_H …此处为要包含的其它头文件…
- endif 2、32位机器有结构体
- 32位机器中double占64位=8个字节,char占一个字节,但是为了字节对齐,前面两个char型共占4个字节,故总共12个字节。
typedef struct test{
char i;
char j;
double k;
}test_T;
sizeof(TEST_T) = ?
-
3、进程间通信有几种方式?详细说一下信号量工作原理
- (1). 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进