【1】指针
1--- 指针变量:用于存放地址量的变量
2--- 地址常量:数组名、&a
【2】
&:取地址符
*:
1--- 数据类型的一部分
2--- 指针解引用(取地址里的内容)
3---
【3】指针运算
指针加减:加减的是单位长度
【4】指针大小
size = 4字节;
【5】[]:指针加单位长度后,取*(内容)运算
int a[5] = {0};
int *p = a;
a[i] <==> *(a+i) <==> *(p+i) <==> p[i]
区别:a是地址常量,p是指针变量
【6】atoi
int atoi(char *);
功能:将数值型字符串转换为整形,非数值型立刻跳出,停止转换
头文件:<stdlib.h>
【7】指针数组
int * p[3];
本质:数组,元素是指针类型
元素:p[0]、p[1]、p[2]
【8】数组指针
int a[2][3]
int (*p)[3] = a;
本质:指针,专用于指向数组的指针
特点:[3]与数组的列项相同;
【9】
int a[2][3]
int (*p)[3] = a;
a[i][j] <===> *(a[i]+j) <===> *( *(a+i)+j)
p[i][j] <===> *(p[i]+j) <===> *( *(p+i)+j)
区别:a是地址常量,p是指针变量
【10】二级指针
用于存放一级指针的地址
int a = 10;
int *p = &a;
int **q = &p;
【11】const
将指针变量常量化
【12】void
void *<指针变量名称> ; //泛型指针
【13】NULL
防止野指针的形成
二、函数
1--- 主函数
2--- 自定义函数
3--- 库函数
4--- 系统调用函数
【1】main
int argc //命令行参数的个数
const char * argv[] //命令行参数
1--- const 常量化了*argv[i];
2--- argv 指针数组