当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言中malloc函数的使用方法

更新:02-19 整理:39baobao.com
字体:

[c语言中函数的概念]程序设计中的函数 许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,这就是程序中的函数。比如在C语言中: int max(int x,int y) { return(x...+阅读

C语言中malloc是动态内存分配函数。

函数原型:void *malloc(unsigned int num_bytes);

参数:num_bytes 是无符号整型,用于表示分配的字节数。

返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...)

功能:分配长度为num_bytes字节的内存块

注意:当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。

实例:

#include"stdio.h"

#include"malloc.h"//malloc()函数被包含在malloc.h里面

int main(void)

{

char*a=NULL;//声明一个指向a的char*类型的指针

a=(char*)malloc(100*sizeof(char));//使用malloc分配内存的首地址,然后赋值给a

if(!a)//如果malloc失败,可以得到一些log

{

perror("malloc");

return-1;

}

sprintf(a,"%s","HelloWorld\n");//"HelloWorld\n"写入a指向的地址

printf("%s\n",a);//输出用户输入的数据

free(a);//释放掉使用的内存地址

return0;//例2有无内存泄露?

}

本文地址:https://www.39baobao.com/show/29_43454.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

C语言中的函数指针函数指针是定义一个指向函数的指针,形式为:void (*p)(void); 一般用法: int fun1(int x); int fun2(int x); char fun3(int x); int fun4(char x); int main(void) { int (*p)(...

C语言如何在可变参数函数中使用printf如psxf91所答,应使用v*系列的函数来实现。对比下printf与vprintf函数原型: 1 2 voidprintf(constchar*format, ...); voidvprintf(constchar*format, va_listap); 可以看出二...

c语言中怎样使用取余数的函数C语言用取模运算符“%”进行取模运算。取模运算符“%”的作用是求两个数相除的余数。例如,请看下面这段代码:x=15/7;如果x是一个整数,x的值将为2。然而,如果用取模运算符代替除法...

c语言中指针作为实参使用SWAP函数的问题c语言中形参与实参的关系是:形参是实参的值副本。无论参数的类型是什么,传递到子函数中的形参只是实参的值。所以,在改变形参变量自身的值时,是与实参无关的。换句话说,形参的改...

在c语言中如何使用系统函数得到当前的日期程序1: #include <stdio.h> #include <time.h> void main () { time_t T; struct tm * timenow; time ( &T ); timenow = localtime ( &T ); printf ( "现在时间是: %s", asctim...

c语言问题 malloc函数的头文件是什么原型:extern void *malloc(unsigned int num_bytes);头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc...

C语言不定参数个数在自定义函数中的使用#include <stdio.h> #include <stdarg.h> void f1(int a,...) { va_list va; va_start(va,a); int b = va_arg(va,int); int *c = va_arg(va, int *); printf("%d %d %d\n",a,...

c语言main函数中的变量和其他函数中的变量使用的是一个堆栈吗C语言每调用一次子函数都会为子函数新分配一片空间。先调用f1(),那么在mai()函数之外开辟了一块空间用来执行子函数,其中为变量x也分配了一个整形大小的空间,a=f1()之后,x的地址被...

C语言中的POW函数怎么使用使用方法: # include//这个。其实没有也可以。 double x,y,z;//自己按需赋值。【1】 z=pow(x,y); printf(“%lf\n【2】”,z【3】);//可以根据想输出几位,比如说输出一位小数%.1lf...