malloc calloc memset的使用

本文介绍了C语言中内存分配与初始化的基本方法,包括malloc、calloc函数的使用及其区别,以及如何利用memset函数对数组进行初始化。通过示例代码展示了不同函数在实际应用中的效果。
malloc calloc 头文件 <stdlib.h>

malloc

原型:malloc(size * sizeof(类型));

int *p;

p=(int *)malloc(100*sizeof(int)); //数组有100元素,每个元素是int类型,元素大小sizeof(int)


calloc
原型:calloc(size,sizeof(类型));
p=(int *)calloc(100,sizeof(int));//数组有100元素,每个元素是int类型,元素大小sizeof(int)
-----------------------------

memset  头文件 <memory.h>
原型:memset(数组名,0或-1,sizeof(数组名));
int q[10];
memset(q,0,sizeof(q)); //初始化的数组名为q,初始化为0,sizeof(q)表示数组总大小,sizeof(数组名)

#include<stdio.h>
#include<stdlib.h> 
#include<memory.h>
const int n=10;
int main()
{
	int *p;
	p=(int *)malloc(n*sizeof(int));//malloc
	int i;
	printf("使用malloc分配,数组中值任意:\n");
	for(i=0;i<n;i++)
	{
		printf("%d\n",p[i]);
	} 
	printf("------------------------\n");
	free(p);
	printf("使用calloc分配,数组值初始化为0:\n");
	p=(int *)calloc(10,sizeof(int));
	for(i=0;i<n;i++)
	{
		printf("%d\n",p[i]);
	} 
	printf("------------------------\n");
	printf("使用memset,只能为已知大小数组初始化,初始值限定为0或-1:\n");
	int q[n];
	memset(q,-1,sizeof(q));
	for(i=0;i<n;i++)
	{
		printf("%d\n",q[i]);
	}
	return 0; 
}    
    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值