博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c的动态内存管理
阅读量:6215 次
发布时间:2019-06-21

本文共 574 字,大约阅读时间需要 1 分钟。

在linux系统下使用malloc提示警告,解决方法,加入头文件<stdlib.h>

首先来个基本的例子

int *p=(int *)malloc(sizeof(int));(当malloc无法分配内存时会返回null,所以在使用它返回的指针前最好先检查null是否为空,如果不为空再使用p指针)

*p=100;

printf("%d\n",*p);

free(p);(free指针参数应该只指向有malloc分配的内存地址)

下面这个例子会运行出错,因为name这块内存还没有分配内存空间

char *name;

scanf("%s",name);

printf("%s\n",*name);

初始化静态或者全局变量事不能调用函数,例如下面这条语句是错误的

static int *pi=malloc(sizeof(int));

分配内存空间的函数还有

int *pi=calloc(5,sizeof(int));指针pi的内存空间为5*sizeof(int)

memset(pi,0,5*sizeof(int));用0来填充内存空间为20的指针pi

string=realloc(*p,10);  第一个参数指向原内存块,第二个参数表示分配大小

转载于:https://www.cnblogs.com/biaopei/p/7730671.html

你可能感兴趣的文章
[精校版]The Swift Programming Language--语言指南--闭包
查看>>
syslog-ng+loganalyzer log system install guide
查看>>
关于spark聚合函数与lag窗口函数同时使用的一个问题
查看>>
apk资源替换
查看>>
PhysX概述
查看>>
软件包管理之yum
查看>>
你的php网页乱码了吗
查看>>
Linux常用的可插拔认证模块(PAM)pam_limits.so、pam_rootok.so和pam_userdb.so的详解
查看>>
医院物资管理系统
查看>>
鸟哥的Linux私房菜10.29 软件安装:RPM,SRPM与YUM功能
查看>>
秒杀系统架构优化思路
查看>>
delphi7 编译出现 internal error: T2335解决办法
查看>>
Keepalived+Lvs_DR模式实现Web服务的HA高可用集群
查看>>
PHPer 为什么会被 Javaer 鄙视?
查看>>
使用toFixed()函数时,出现“toFixed() is not a function”的解决办法
查看>>
页面布局设计
查看>>
计划任务crontab
查看>>
11月份个人技术指标
查看>>
LCM通信模块简介
查看>>
xpath之starts-with()
查看>>