翻译单元与源文件
源文件
- 源文件:程序员编写的原始代码文件,通常以
.c
为扩展名,包含函数定义、变量声明等代码。- 一个项目可以包含多个源文件,每个源文件对应一个翻译单元。
翻译单元
- 翻译单元是编译器处理的一个独立编译单元,由一个 ** 源文件(
.c
)和它通过#include
指令包含的所有头文件(.h
)** 组成。- 每个翻译单元会被编译器独立编译为一个目标文件(
.o
),最终通过链接器合并成可执行文件。static
修饰的函数或变量的作用域仅限于当前翻译单元(即该源文件及其包含的头文件)。
C语言
数组越界:有些允许,有些不允许,有可能产生错误;
数组名是数组的地址,也就是数组首元素的地址;
数组名本身是一个常量指针,不可变更地址;
数组传入参数可以用数组名arr[]
在字符串中0等同于\0;
字符串是有\0的字符数组
strlen:计算第一个\0之前的长度
在数组中arr[],传入arr[],传入的是地址大小为4,sizeof(arr)
用“”就表达是字符串
C语言字符串是以字符型数组进行存在的
char* arr=‘’dsd''实际上在前面增加了一个char cosnt *arr,这个形式的字符串不可以更改值
字符型
引用:不要返回局部变量的应用,引用可以做返回值,引用==取别名,相当于指针常量,指向不可以改变
类
类的默认权限是私有的;
结构体的默认权限是公有的
类的构造函数
只要创建一个类,就会它默认添加三个构造函数:无参,有参,拷贝
自己写有参,编译器不提供无参,写拷贝,不提供其他
类的浅拷贝和深拷贝
类的浅拷