C语言malloc函数的功能及用法

C语言malloc函数的功能及用法关于C语言malloc函数函数介绍应用举例1应用举例2函数介绍malloc(memoryallocation) 中文名称:动态内存分配用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。应用举例1关于C语言动态申请数组(整形数据类型)空间的应用#include<stdio…

大家好,又见面了,我是你们的朋友全栈君。

关于C语言malloc函数

函数介绍

malloc(memory allocation)
中文名称:动态内存分配
用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。

应用举例1

关于C语言动态申请数组(整形数据类型)空间的应用

#include<stdio.h>
#include<malloc.h>

void A()
{ 
   
	int n;//数组元素个数
	int *add;
	scanf("%d",&n);
	add=(int *)malloc(sizeof(int)*n);//内存申请
	for(int i=0;i<n;i++)
	{ 
   
		scanf("%d",&add[i]);
	}
	for(int i=0;i<n;i++)
	{ 
   
		printf("%d",add[i]);
	}
}

int main()
{ 
   
	A();
	return 0;
}

应用举例2

C语言动态申请数组(结构体)空间的应用

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>//包含malloc函数的头文件

struct Item//定义结构体
{ 
   
	char name[20];
	int num;	
};

struct Item *I;//申请Item类型的指针

int A()//进行内存申请
{ 
   
	int i,j;
	int n;//申请的数量
	scanf("%d",&n);
	I=(struct Item*)malloc(sizeof(struct Item)*n);
	return n;	
}

int Input()//数据输入函数
{ 
   
	int n=A();
	int i,j;
	for(i=0;i<n;i++)
	{ 
   
		printf("%d Name:",i+1);
		scanf("%s",&I[i].name);
		printf("num:\n");
		scanf("%d",&I[i].num);
	}
	return n;	
}

void output()//数据输出函数
{ 
   
	int n=Input();
	for(int i=0;i<n;i++)
	{ 
   
		printf("%d |",i);
		printf("Name:%s ",I[i].name);
		printf("num:%d\n",I[i].num);
	}
}

int main()
{ 
   
	output();
	return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133026.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux下连接mysql数据库命令,linux连接mysql命令[通俗易懂]

    linux下连接mysql数据库命令,linux连接mysql命令[通俗易懂]linux连接mysql是最基本的操作之一,对于初学者来说我们可以通过命令来连接mysql,下面由学习啦小编为大家整理了linux下连接mysql命令的相关知识,希望对大家有所帮助!linux连接MYSQL命令格式:mysql-h主机地址-u用户名-p用户密码linux连接mysql命令实例1、连接到本机上的MYSQL找到mysql的安装目录,一般可以直接键入命令mysql-uroot…

    2022年9月2日
    3
  • 网页刷新快捷键ctrl加什么_谷歌浏览器刷新快捷键

    网页刷新快捷键ctrl加什么_谷歌浏览器刷新快捷键强制刷新ctrl+F5

    2022年8月1日
    2
  • navicate 15.0.25 激活码【2021.7最新】[通俗易懂]

    (navicate 15.0.25 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~ML…

    2022年3月21日
    170
  • 如何运行.java文件

    首先按“Windows+R”键打开运行,输入“cmd”打开命令行窗口。然后通过cd进入.java文件所在的文件夹,生成与.Java文件同名的.class字节码文件。再输入“java 文件名”运行该.java文件。

    2022年1月17日
    41
  • ubuntu如何卸载docker_ubuntu卸载干净

    ubuntu如何卸载docker_ubuntu卸载干净Ubuntu卸载Docker方法卸载旧版本的方法:旧版本的docker名字叫docker,docker.io,或者docker-engine#删除docker命令acestang@acestang:~$sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc#删除docker默认安装的文件acestang@acestang:~$sudorm-rf/var/lib/docker/#通过doc

    2022年10月21日
    2
  • springboot 注解_pagehelper分页原理

    springboot 注解_pagehelper分页原理案例环境jdk1.8,mysql8.0,idea(工具),springboot,mybatis-plus详情看pom.xml项目结构结构解释项目由网关,公共依赖模块,和商品的优惠券,商品服务,订单服务,仓储服务和会员服务组成(案例测试使用shop-product,common),父工程为聚合工程不作为依赖管理一、common模块(组件可在人人开源项目中获取renrne-fast),common是一个基础maven项目pom.xml(common)<?xm.

    2022年7月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号