二、多级指针
一级指针、二级指针、三级指针
二级指针定义:类型名 **指针变量;
三级指针定义:类型名 ***指针变量;
#include <stdio.h>
int main(){
int i=3;
int *p=&i;
int **q=&p;
int ***r=&q;
printf("%d\n",i);
printf("%d\n",*p);
printf("%d\n",**q);
printf("%d\n",***r);
return 0;}
三、动态空间分配
内存数据空间分配:静态存储区、栈、堆
静态存储区:静态变量、全局变量、常量
栈、堆:变量
区别:
栈:自动分配 自动回收 方便操作但总量有限
堆:主动申请 主动释放 自由度大但效率有限
动态空间分配(堆)函数:
1、malloc
格式:void *malloc(unsigned int size);
功能:从堆区申请size大小的空间。
2、calloc
格式:void *calloc(unsigned n,unsigned size);
功能:从堆区申请n*size大小的空间。
3、free
格式:free(指针变量);
功能:将指针变量指向的堆空间释放。
都包含在库函数malloc.h中
实例:利用堆空间统计5个成绩中不及格的人数
上一页
[1]
[2]
[3]
[4]