malloc函数的使用方法
实例
//创建一个长度为numsSizie的整形数值
int* p = (int *)malloc(numsSize * sizeof(int));
注意使用malloc进行动态分配后,一定要使用free释放内存,否则会造成内存泄露 因此,完整代码如下:
//创建一个长度为numsSizie的整形数值
int* p = (int *)malloc(numsSize * sizeof(int));
...
free(p);
//完美收工
博主的犯蠢记事
int *twoSum(int* nums,int numsSize,int target,int* returnSize){
...
//这里我想定义两个长度为numsSize的数组
//于是我大刀阔斧地直接定义了
int small[numsSize],big[numsSize];
}
结果当然是报错了 问题出在了numsSize,这里numsSize是传入的参数,属于不定值,而以上这种定义方法只支持固定长度分配,所以改为以下就不会报错:
int *twoSum(int* nums,int numsSize,int target,int* returnSize){
...
//固定长度or动态分配malloc
int small[100],big[100];
int* tiny = (int *)malloc(numsSize*sizeof(int));
int* large = (int *)malloc(numsSize*sizeof(int));
...
free(tiny);
free(large);
}
题源leetcode题库第一题,被自己的菜吓得半死 本人菜鸡一只,有任何问题欢迎指正,卑微鞠躬
|