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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • git 修改远程仓库地址[通俗易懂]

    一、Git修改远程仓库地址方法:1.直接修改config文件2.使用命令修改远程仓库地址gitremote查看所有远程仓库,gitremotexxx查看指定远程仓库地址gitremoteset-urloriginhttp:/xxxx/john/git_test.git3.删除仓库,添加新仓库1.gitremote查看所有远程仓库,gitremotexxx查看指定远程仓库地址2.gitremotermorigin…

    2022年4月15日
    39
  • 毕业两年

    又到毕业季,去年毕业一年,今年,毕业两年了,一年一度的“毕业N年”系列。今年经历了两件事,离职和成长。离职 去年8月份从百度离职了,北京来到杭州,加入现在这家创业公司,做乐器教育方向的,应用叫Finger。成长 技术。这个三两句话也说不清楚,最近一年忙于工作也没写博客了。从客观角度来看的话,更多关注工程的架构和可扩展性,也厌烦了重复性的工作,把重复性的逻辑都通过封装解耦出去,通过“

    2022年3月11日
    41
  • JLink、JTAG接口详细图解「建议收藏」

    JLink、JTAG接口详细图解「建议收藏」说明:1脚:通常连接到目标板的vdd,用来检测目标系统是否供电;检测原理上图中有简单的说明。2脚:原版的JLink这个引脚没有使用,不提供Vsupply输出,而很多改造版的JLink通过跳线选择从该引脚输出3.3V的电压给外边,我的就是这样的。可以到网上找JLink的原理图看看。http://infocenter.arm.com/help/index.jsp?top

    2022年5月27日
    266
  • 备注ocp_ORACLE专题网络

    备注ocp_ORACLE专题网络

    2022年1月6日
    47
  • 激活函数ReLU、Leaky ReLU、PReLU和RReLU

    激活函数ReLU、Leaky ReLU、PReLU和RReLU“激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”。sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”。使用“非饱和激活函数”的优势在于两点:1.首先,“非饱和激活函数”能解决所谓的“梯度消失”问题。2.其次,它能加快收敛速度。Sigmoid函数需要一个实值输入压缩至[0,1]的范围σ(x)=1/…

    2022年6月15日
    35
  • 量子搜索算法例题详解_量子算法与编程入门

    量子搜索算法例题详解_量子算法与编程入门量子搜索算法Groversearch问题定义:Problem:f:{0,1,2,3,……,N−1}→{0,1}f:{0,1,2,3,……,N−1}→{0,1}找到f(x)=1的x解法经典解法:经典解法很简单,就是把每一个都看一遍,如果只有一个x对应的f(x)=1,那么平均是要看一半,才能找到那个x。时间复杂度O(N)量子解法:使用Groversea…

    2025年5月22日
    3

发表回复

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

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