一、几个知识点
- 内存四区:栈、全局(静态),常量区,除此以外剩余的空间暂时不能随意使用;除此以外剩余的空间只要通过malloc函数申请一下,就可以使用了;
- 申请一个堆上的单个
int
变量的方法:int* p = (int*)malloc(sizeof(int));
- 申请一个堆上的
int
数组的方法:int* p = (int*)malloc(sizeof(int)*5);
- 堆上的地址可以跨函数使用,在不需要使用时使用 free 函数释放;
二、二级指针
问题引入
char* ss[4] = { "basic","fortran","C++" };//每个元素都是char*类型
对于这样的指针数组,应该用什么样的指针去遍历呢?答案是:二级指针
char** p = ss; // 二级指针变量p,指向一个指针数组