#ifndef UTILS_H
#define UTILS_H
int add(int a, int b)
#endif
-------分割线------
然后再创一个文件utils.c,里面定义函数add
#include "utils.h"
int add(int a, int b)
{
return a + b
}
-------分割线------
然后假如你想在main.c里使用这个头文件,就把utils.h utils.c放到main.c所在的文件夹里,然后在main.c里这么写
#include <stdio.h>
#include "utils.h"
void main(void) {
printf("%d", add(2,3))//5
}
------分割线------
上面有些不是硬性规定,但是希望你能遵守,养成好习惯,在头文件里面只声明,定义只写在.c里面
还有,因为你现在有两个.c文件了,所以编译的时候不要忘了编译utils.c。(.h是不用编译的)
free函数的用法释放ptr指向的存储空间。被释放的空间通常被送入可用存储区池,以后可在调用malloc、realloc以及calloc函数来再分配。
free 不管指针指向多大的空间,均可以正确地进行释放,这一点释放比 delete/delete [] 要方便。如在分配指针时,用的是new或new[]。
在释放内存时,并不能图方便而使用free来释放。反过来,用malloc 分配的内存,也不能用delete/delete[]来释放。
举例:
int* p = (int *) malloc(4)
*p = 100
free(p)//释放 p 所指的内存空间
或者:
int* p = (int *) malloc ( sizeof(int) * 100 )//分配可以放得下100个整数的内存空间。
……
free(p)
扩展资料
1、free是和malloc、realloc或者calloc函数成对出现的,来保证动态分配的空间及时释放。
2、一块动态申请的内存用free释放一次就够。