正常情况下主函数main()的书写形式为:
int main()
或者:
int main(void)
代表主函数没有输入实参的类型的函数,实际上在某些情况下主函数是可以有参数的
如:
int main(int argc,char *argv[])
argc和argv就是main函数的参数,它们是程序的“命令行参数”。argc(argument count的缩写,意思是参数的个数),argv(argument vector的缩写意思是参数向量)是一个指针数组,数组中每一个元素(指针)指向命令行的一个字符串。
函数声明
1
void *malloc(size_t size);
备注:void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者其他数据类型)。
功能
分配长度为num_bytes字节的内存块
返回值
如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。
使用里程:
#include<stdio.h>
#include<malloc.h>
int main()
{
char *p;
p=(char *)malloc(100);
if(p)
printf("Memory Allocated at: %x/n",p);
else
printf("Not Enough Memory!/n");
free(p);
return 0;
}
**四大动态内存分配函数
malloc函数,函数原型为:
void *malloc(unsigned int size);
其作用是在内存的动态存储区域中分配一个长度为size的连续空间,形参size的类型定义为无符号整形(不允许为负数)。
calloc函数,函数的原型为:
void *calloc(unsigned n,unsigned size);
其作用是在动态存储区域分配n个长度为size的连续空间。
free函数,其原型为:
void free(void *p)
其作用是释放指针p所指向的空间。
realloc函数,其函数原型为:
void *realloc(void *p,unsigned int size);
如果已经通过函数malloc函数或calloc函数获得了动态空间,但是想改变其大小,可以通过函数realloc函数重新分配。**
本文介绍了C语言中主函数main的不同形式及其参数意义,并详细解释了四种动态内存分配函数(malloc, calloc, realloc, free)的功能及使用方法。
317

被折叠的 条评论
为什么被折叠?



