c语言:malloc函数的简介

文章目录

    • 一、为什么需要malloc函数?
    • 二、如何使用malloc函数?
    • 三、用malloc函数自定义数组长度

一、为什么需要malloc函数?

用于解决传统数组以下缺点。
①传统数组的长度必须要事先指定。
②传统数组的内存无法手动释放。
③传统数组的长度定义后无法更改
④无法跨函数使用


二、如何使用malloc函数?

例:

#include <stdio.h>
#incldue <malloc.h>
int main (void)
{int i = 1;int * p = (int *)malloc(4);* p = 1;free(p);return 0;
}
  1. 头文件需要添加malloc.h
  2. malloc函数需要一个且仅需要一个整形形参
  3. 形参表示为本程序分配4个字节
  4. malloc函数只能返回第一个字节的地址
  5. int * p = (int *)malloc(4);本语句一共分配了8个字节
  6. 指针变量p本身占的是静态分配,而p所指向的地址是动态分配的
  7. free ( p )表示将p所指向的内存释放掉

三、用malloc函数自定义数组长度

例:

#include <stdio.h>
#include <malloc.h>
int main (void)
{	int a[5];int len,i;int *parr;printf("请输入您要存放的元素的个数:");scanf("%d",&len);parr = (int)malloc(4*len);for(i=0;i<len;++i){scanf("%d",&parr[i]);}for(i=0;i<len;++i)printf("%d\n",parr[i]);return 0;
}

说明:

  • 本函数中定义了一个parr[len]的数组,该数组的长度可以自行定义。
  • 如果想要对该数组长度进行增加或者缩小,可以使用realloc函数,
    使用方法:realloc(数组名,需要变成的个数)

该博客引用了郝斌老师c语言教程的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack+react+es6开发模式

一、前言 实习了两个月&#xff0c;把在公司用到的前端开发模式做个简单的整理。公司里前端开发模式webpackreactreduxes6&#xff0c;这里去掉了redux。 webpack, react, redux等学习网址&#xff1a;http://www.cnblogs.com/hujunzheng/p/5405780.html 二、简单的步骤条组件 …

c语言输入字符时控制符%c前加空格的原因解释

文章目录一、前景知识1、缓冲区2、标准输入流二、scanf语句的执行1、scanf对于整形%d的输入2、scanf对于字符%c的输入在编一个代码时偶然间发现一个知识盲点…用scanf语句输入字符时需要在控制符%c前加空格。在解释相关这个原因前我们需要了解几个相关知识点。 一、前景知识 1…

git命令分类图

转载于:https://www.cnblogs.com/hujunzheng/p/5560826.html

python中为什么没有自增或者自减

在c语言和c中我们经常会用到自增或者自减的语句&#xff0c;但对于python中如果运用这种格式便会报错…why&#xff1f; 一、预备知识 小整数池 python中为了提高储存效率&#xff0c;对于int类型的整型变量的储存&#xff0c;有一个专门的小整数池&#xff0c;它会存放-5到256…

数据结构算法模拟系统

一、前言 学习数据结构已经有很长时间了&#xff0c;加上之前搞过一段时间的ACM&#xff0c;虽然搞得并不怎么样吧&#xff0c;但是喜欢的东西不能放弃&#xff0c;一直打算写一个算法模拟系统&#xff0c;对常用的一些算法进行简单的模拟&#xff0c;于是我的毕业设计就这样诞…

python语言map函数及map object at 乱码错误

文章目录一、map函数的简介1、map函数的作用2、语法格式3、举例例1、例2、二、报错一、map函数的简介 1、map函数的作用 对某个序列以给定的函数格式作映射。 2、语法格式 map(function,iterable)   function可以填函数&#xff0c;也可以填数据类型 3、举例 例1、 a [1,2,…

推荐几款jquery图片切换插件

一、前言 毕业季到了&#xff0c;大家都在匆匆忙忙的记录大学里最美好的时光&#xff0c;照片中各种花式、各种姿势都涌现出来了。这么多的照片怎么展示出来给自己的好友看呢&#xff1f;有人选择做成视频&#xff0c;有人选择ps之后做成图片集&#xff0c;而我选择利用静态网页…

c语言表白

马上就要520了&#xff0c;不少小伙伴们一定开始想尽各种办法进行表白了…那么身为奔跑在程序员道路上的我们也一定要有独特的表白方法&#xff01; 下面是一段表白代码&#xff0c;请直接搬去用吧&#xff01;&#xff01;&#xff01; #include <stdio.h> void change…

java注意的一些细节问题

1. 大括弧作用域问题 public static void main(String[] args) {{int x;{int x;//编译错误&#xff1a;Duplicate local variable x}} } 2.boolean值的运算 public static void main(String[] args) {if(true && false) {}if(true & false) {}System.out.println(t…

python表白

马上就要520了&#xff0c;不少小伙伴们一定开始想尽各种办法进行表白了…那么身为奔跑在程序员道路上的我们也一定要有独特的表白方法&#xff01; 下面是一段表白代码&#xff0c;请直接搬去用吧&#xff01;&#xff01;&#xff01; import turtle import timedef hart_ar…

git revert和reset区别

1.在github上建立测试项目并克隆到本地 2.本地中新建两个文本文件 3.将a.txt commit并push到远程仓库 执行 git add a.txt, git commit -m "a.txt", git push 4.将b.txt提交到本地仓库&#xff0c;不执行push 通过gitk命令查看提交历史如下&#xff1a; 情景&#xf…

python基础知识点整理(1)

目录一、变量与数据类型1、变量① 变量的命名规则2、字符串常用的库函数二、列表1、列表的基础定义2、列表常用的库函数3、for循环与列表4、列表切片5、元组三、if语句四、字典1、字典定义2、对字典的操作一、变量与数据类型 1、变量 ① 变量的命名规则 只能包含数字、字母以…

sorl6.0+jetty+mysql搭建solr服务

1.下载solr 官网&#xff1a;http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr&#xff08;默认使用jetty部署&#xff09; 在path路径下将 bin文件夹对应的目录加入&#xff0c;然后输入 solr start&#xff08;或者 solr start -p port&#xff0c;指定端口启动&am…

Maven中安装本地Jar包到仓库中或将本地jar包上传

摘要 maven install 本地jar命令格式 mvn install:install-file -DgroupId<group_name> -DartifactId<artifact_name> -Dversion<version_no> -Dfile<path_of_the_local_jar> -Dpackagingjar -DgeneratePomtrue 示例 mvn install:install-file -Dgroup…

二维码登录原理及生成与解析

一、前言 这几天在研究二维码的扫码登录。初来乍到&#xff0c;还有好多东西不懂。在网上看到有人写了一些通过QRCode或者Zxing实现二维码的生成和解码。一时兴起&#xff0c;决定自己亲手试一试。本人是通过QRCode实现的&#xff0c;下面具体的说一下。 二、二维码原理 基础知…

knockout+echarts实现图表展示

一、需要学习的知识 knockout, require, director, echarts, jquery。简单的入一下门&#xff0c;网上的资料很多&#xff0c;最直接就是进官网校习。 二、效果展示 三、require的配置 require.config.js中可以配置我们的自定义模块的加载。 require.config({baseUrl: ".&…

Maven在Eclipse中的实用小技巧

前言 我们在开发的工程中很多都是Maven项目&#xff0c;这样更加便于我们jar包的管理。而我们一般使用的IDE都是Eclipse&#xff0c;由于我们在日常的开发过程中会经常要用到一些Maven的操作&#xff0c;所以我今天主要跟大家分享一下我们在日常开发中的Maven实用小知识&#x…

React中使用Ant Table组件

一、Ant Design of React http://ant.design/docs/react/introduce 二、建立webpack工程 webpackreact demo下载 项目的启动&#xff0c;参考 三、简单配置 1.工程下载下来之后&#xff0c;在src目录下新建目录“table”&#xff0c;新建app.js&#xff0c;内容如下。 import R…

解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误

一、问题描述 1.错误截图如下。 2.设计的问题 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.6, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。 二、原因分析 Maven官方文档有如下描述&#xff1a; 编译器插件用来编译项目的源文件.从3.0版本开始, …

java自定义注解类

一、前言 今天阅读帆哥代码的时候&#xff0c;看到了之前没有见过的新东西, 比如java自定义注解类&#xff0c;如何获取注解&#xff0c;如何反射内部类&#xff0c;this$0是什么意思? 于是乎&#xff0c;学习并整理了一下。 二、代码示例 import java.lang.annotation.Elemen…