1.数组和指针
1.数组指针
数组指针就是指向一个数组的指针,数组名就是数组的首地址,区别就是数组名进行++,–操作时偏移量是数组存储类型的大小,而数组指针是整个数组
2.指针数组
指针数组就是数组里面存储的是指针的数组,存储的指针类型是前面的例如 int* arr[] 存储的就是int*类型;
3.函数指针
函数指针就是函数名 ,是指向函数的指针变量,通常用于实现回调函数机制,声明类型就是 函数返回值 (*函数名)(函数参数)
4.const和指针
1.const 具备类型检查
**const 修饰一个变量 **使其常量化 , 修饰的变量通常是其左边的变量。
const 修饰指针
*int const p 表示其指向的内容不可改变
int * const p 表示其指针本身不可改变,即这个地址不可改变
const int const * p 表示不仅内容不可变,其地址也不能变
修饰函数参数 表示参数在函数体内不可被改变
修饰返回值 如果返回类型是一个指针,表示返回的指针指向的内容不可修改
2.指针
指针通俗来讲就是门牌号你可以通过对应的门牌号找到对应的房间然后让问房间里的空间,是一个变量类型
5.sizeof和指针和数组
1.sizeof
sizeof 是一个关键字用于计算变量的大小,是可以不加括号的,但是也可以像函数一样加括号使用
2.指针
指针通俗来讲就是门牌号你可以通过对应的门牌号找到对应的房间然后让问房间里的空间,是一个变量类型
3.数组
数组是一种线性的数据结构,用于存储相同的数据类型,可以用下标进行随机访问,大小固定
6.strlen和字符数组
1.strlen
库函数<string.h> 用于计算字符串的长度遇到 /0 结束
2.字符数组
存储字符的数组char arr[]