1. 指针使用的注意事项
- 不要轻易改变指针的位置
1 | char* p = NULL; |
第一个是把string赋值给p,第二个是p指向“string”的首地址。
2. const 关键字
1 | // 常量(创建一个指针还是可以改变的) |
3. 二级指针的内存模式
3.1 指针数组
指针数组
:数组指针指向的是数组元素的首地址
3.2 二维数组的几种定义方式
第一种定义方式:
1 | char* name[10] = {"east","rose","jack"};// 后面的默认指向的是 NULL 地址,都是在静态常量区 |
第二种定义的方式:
1 | char name[10][30] = {"east","rose","jack"}; // 这个几个数据都是从静态常量区copy 到 栈的 buffer里面的 |
第三种定义方式(最常见的一种方式)动态开辟,不理解记住套路:
1 | void print(char** str,int len){ |
4. 多级指针
1 | void initParams(char*** params,int number){ // 三级指针就出来了,最多也就二级指针(数组指针) |