作用: 释放动态申请的由指针变量p所指向的存储空间, 该函数无返回值 说明: ①参数p的值不是任意的地址, 必须是程序中执行malloc或 calloc函数所返回的地址 ② p是普通指针(void *), 但调用free函数时不需要进行强制 类型转换, 计算机系统会自动转换 ③该函数执行后, 将指针p所指向的存储空间交还给系统, 系统可再重新分配
2020/5/28
6.6.2 动态内存分配和释放函数
➢使用malloc函数时, 必须用强制类型转换将
返回的指针值转换回所需要的数据类型, 然后
再进行赋值操作
定义指针变量通常将
int *p=NULL;
其初始化为空指针
double *q=NULL; 申请一个长度为4个字节的存储空间,
p= (int *) malloc (4);
float *p;
aver=&aver1;
静态局部变量 printf("input n:");
for(i=1; i<=n; i++)
scanf("%d",&n);
{ printf("input s:");
p=average(n);
scanf("%f", &s);
printf("ave=%6.2f, ", *p);
例: int * fun ( int a , int b ) { 函数体 ; }
2020/5/28
6.2.2 返回指针值的函数
例2 求某班成绩的平均分 要求用返回指针值的函数实现
分析:
main
通过函数average的返回 &aver1