1 / 7
文档名称:

H3C-C开发技术面试.doc

格式:doc   大小:20KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

H3C-C开发技术面试.doc

上传人:63229029 2021/12/2 文件大小:20 KB

下载得到文件列表

H3C-C开发技术面试.doc

相关文档

文档介绍

文档介绍:unsigned short a = -1
printf(“%x”,a)输出多少,为什么会有这样的输出。printf函数的运行机制。
FFFF,输出的是-1的补码,2字节长
关于printf的运行机制,感觉问的挺深的,当时没回答出来,就知道printf是采用_cdecl调用方式,参数从右到左依次进栈。系统是如何分析参数个数并获取每一个参数的机制不大清楚。
单链表逆序算法。
C语言内存分配。
栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。操作方式类似于数据结构中的栈。
堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放
文字常量区—常量字符串就是放在这里的。 程序结束后由系统释放
程序代码区—存放函数体的二进制代码。
堆栈区别,如何使用堆内存。
栈内存由系统分配和释放,主要保存局部变量,函数的参数等,空间较小,使用速度快。
堆空间由程序员使用时动态分配,使用完毕后释放,可申请空间大。
在c语言中,使用malloc申请堆空间。
const char *p 和char *const p作用都是什么。
constchar *p:等同于char const *p,表示指针p所指向的内容不能被修改。
char * const p 表示指针p本身不能被修改。
char const *const p,两者都不能更改。
#define 和typedef的区别

#define int * INT_d
typedef int* INT_t;
INT_da,b;
INT_tc,d;
abcd的类型都是什么?
acd是整形指针,b是整形变量
#define add(a,b) a+b
#define mul(a,b)a*b
printf(“%d”,mul(add(2,3),4));输出什么?
14而不是20
考察sizeof的理解
char str[] = “hello word”;
char *p = str;
typedef struct S_Node
{
int a;
int b;
} S_NODE;
S_NODE s_Data;
S_NODE &as_Node = s_Node;
void foo(const char pStr[50],S_NODE *p_S)
sizeof(str) = 11
strlen(str)=10
sizeof(p) =4
sizeof (s_Data)=8
sizeof (as_Node)=8
sizeof(pStr) = 4
sizeof(p_S) =4
关于进程、线程该如何考察?
我参加的笔试面试主要考察以下几个部分:
一、进程与线程有什么不同,为什么需要使用多线程。
,提高应用程序响应
,如C/S架构的服务器端并发线程响应用户的请求。