c语言练习64:calloc和realloc

calloc和realloc

C语⾔还提供了⼀个函数叫 calloc , calloc 函数++++⽤来动态内存分配

和realloc是有区别的

练习使用calloc和realloc

realloc在c语言练习63中有所应用,realloc是为了扩大内存空间

下面为calloc和recalloc的例子代码:

cpp 复制代码
#include<stdio.h>
#include<stdlib.h>
int main() {
	int* p = (int*)malloc(5 * sizeof(int));
	if (p == NULL) {
		perror(malloc);
		return 1;
	}
	int i = 0;
	for (i = 0; i < 5; i++) {
		*(p + i) = i + 1;
	}
	/*for (i = 0; i < 5; i++) {
		printf("%d ", (*p + i));
	}*/
	//调整申请的堆上内存
	int*ptr=(int*)realloc(p, 40);
	if (ptr != NULL) {
		p = ptr;
		ptr = NULL;
	}
	else {
		perror(realloc);
		return 1;
	}
	//使用
	for (i = 0; i < 10; i++) {
		printf("%d\n", *(p + i));
	}
	free(p);
	p = NULL;
	return 0;
}

补充:

相关推荐
li1670902703 分钟前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
lsx2024064 分钟前
DOM 改变节点
开发语言
时空系10 分钟前
第8篇:结构模板——自定义数据类型 Rust中文编程
开发语言·网络·rust
yuweiade13 分钟前
GO 快速升级Go版本
开发语言·redis·golang
lly20240615 分钟前
SOAP Body 元素
开发语言
咸鱼2.02 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
JAVA面经实录9178 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
周杰伦fans9 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
Bat U11 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰11 小时前
C++ 排列组合完整指南
开发语言·c++·算法