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)
上一篇 2022年6月9日 下午9:36
下一篇 2022年6月9日 下午9:36


相关推荐

  • 手机兼容性测试_浏览器兼容性测试工具

    手机兼容性测试_浏览器兼容性测试工具AndroidApp兼容性测试,是一个比较重要的App评价内容说到测试阶段,兼容性测试主要是对App在各类机型上的兼容、适配等情况进行测试。搞清楚这一阶段的测试重点后,因此,AndroidApp在进行兼容性测试前,一定要做好其前序测试内容,否则兼容性测试效果将会较差。1.机型配置问题Android兼容测试一定要做到宽范围覆盖,如果做不到这个,那么就违背了兼容性测试的目标——测试App在各类机型、系统上的运行是否兼容、适配。因此,兼容性测试必须要在各个机型、系统上对App进行运行、测.

    2025年7月23日
    5
  • loadlibrary 失败 java_LoadLibrary失败,错误代码为14001

    loadlibrary 失败 java_LoadLibrary失败,错误代码为14001我正在使用VisualC2008ExpressEdition来创建仅限资源的DLL.我面临的问题是运行在除了我的另一台计算机上使用DLL的应用程序导致LoadLibrary()函数失败,错误代码为14001.在互联网上搜索似乎是运行缺少MicrosoftVisualC2008RedistributablePackage库的应用程序的计算机的依赖性问题.我的第一步是安装最新…

    2022年7月13日
    22
  • java中applet是什么意思_Java Applet与Java Application的区别

    java中applet是什么意思_Java Applet与Java Application的区别在Java语言中,能够独立运行的程序称为Java应用程序(Application)。Java语言还有另外一种程序–Applet程序。Applet程序(也称Java小程序)是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序。JavaApplet和JavaApplication在结构方面的主要区别表现在:(1)运行方式不同。JavaApplet程序不能单独运行,它必…

    2022年7月8日
    24
  • PHP 10个常见面试题及答案

    PHP 10个常见面试题及答案1 PHP 的基础知识点 PHP 中类的继承属于单继承 一个子类只能继承一个父类 可见性为 publicprotec 的属性和方法可以被继承 继承的方法或属性可以被重写 可见性越来越大 PHP 中的变量名区分大小写 但类名 函数名不区分大小写 2 error reporting 函数的作用 error reporting 函数的作用是临时设置脚本执行过程中的错

    2026年3月27日
    2
  • Linux — Makefile的学习笔记以及多级目录下Makefile的编写

    Linux — Makefile的学习笔记以及多级目录下Makefile的编写一、Make简介:工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Make将只编译改动的代码文件,而不用完全编译。Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同的m…

    2022年6月6日
    178
  • log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析log4j over slf4j 和 slf4j log4j12 是跟 java 日志系统相关的两个 jar 包 当它们同时出现在 classpath 下时 就可能会引起堆栈溢出异常 先大致梳理了一下现有 Java 日志体系接口 然后仔细分析了这种异常出现的原因 最后重现异常并展示了详细的调用过程

    2026年1月18日
    2

发表回复

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

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