c语言练习64:calloc和realloc

calloc和realloc

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

和realloc是有区别的c语言练习64:calloc和realloc_第1张图片

练习使用calloc和realloc

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

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

c语言练习64:calloc和realloc_第2张图片

#include
#include
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;
}

c语言练习64:calloc和realloc_第3张图片

补充:

 c语言练习64:calloc和realloc_第4张图片

你可能感兴趣的:(c语言,开发语言)