概述
文章目录
- 1. 数组
- 2. 字符串
- 3. 结构体、联合体、枚举
- 3.1 结构体
- 3.2 联合体
- 3.3 枚举
- 3.4 大、小端
- 3.5 sizeof
- 4. 位运算
- 5. 预处理、作用域、static、const
- 5.1 预处理
- 5.2 全局变量、局部变量
- 5.3 static
- 5.4 const
1. 数组
-
字符数组
char ca[ ] = “C++”;
末尾自动添加null,ca长度为4。在使用c风格字符串的标准库函数时,牢记参数必须以结束符null结束。
char ca[ ] = {‘c’, ‘+’, ‘+’};
cout<<strlen(ca)<<endl; //结果未定 -
二维数组
将二维数组当做一维数组初始化
int main()
{
int a[3][3], *p, i;
p = &a[0][0];
for(int i=0; i<9; i++)
p[i] = i + 1;
cout<<a[1][2]<<endl; //a {1,2,3,4,5,6,7,8,9}
}
二维数组动态声明与释放
//a[m][n]
int **a = new int* [m];
for(int i=0; i<m; i++)
a[i] = new int[n];
for(int i=0; i<m; i++)
delete []a[i];
delete []a;
- 指针数组、数组指针
指针数组:一个数组里装着指针
int *a[10];
数组指针:一个指向数组的指针
int (*p)[10];
int a[4][5];
2. 字符串
- strlen
//自定义实现
int myStrlen(const char *str)
{
assert(str != NULL);
int len = 0;
while((*str++) != '