C语言高频考点(一)
1、static关键字
- 修饰函数、全局变量,则使它们只能在本文件内被访问,不能在其它文件被直接访问。
- 修饰局部变量,则会改变局部变量的生命周期,从临时变量生命周期变为全局变量周期。
2、const关键字
- 修饰一个变量为只读。
- 修饰函数参数,表示实参不能在函数中被修改。
- 修饰函数返回值,表示返回值不能被修改。
3、const 和 #define的区别
-
#difine作用在预处理阶段,const作用在编译阶段
-
#define定义的宏常量和宏函数不会进行数据类型检查;const定义的常量和函数会进行数据类型检查。
4、extern关键字
- 声明一个变量或者函数为外部变量或外部函数,使其在A文件中调用B文件的变量和函数。
- 用extern "C"进行C/C++混合编程。
5、#include<> 和 #include""的区别
- #include<>通常用来包含系统头文件,例如:stdio.h。
- #include""通常用来包含自定义头文件,例如:my_time.h。
- 用#include<>包含的头文件,编译时在默认的系统路径下查找。
- 用#include""包含的头文件,编译时首先在工程目录下查找,如果找不到再去默认的系统路径下查找。
6、C语言的基本类型有哪些,在32位系统下,分别占用多少字节空间
数据类型 | 占用字节 |
---|---|
char | 1 |
short int | 2 |
int | 4 |
long int | 4 |
float | 4 |
double | 8 |
7、malloc和calloc的区别
函数原型
void *malloc(size_t num);
void *calloc(size_t num, size_t size);
- 都是向堆申请内存
- malloc申请一整块内存并且不会初始化内存数据
- calloc申请n块内存并且将内
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件面试笔记 文章被收录于专栏
该笔记涵盖嵌入式软件工程师技术面试中的知识点,归纳总结为:C/C++、操作系统、计算机网络、数据结构与算法、linux常用命令等章节。