21xrx.com
2024-11-22 07:43:12 Friday
登录
文章检索 我的文章 写文章
C语言动态申请内存的方法
2023-06-16 09:41:05 深夜i     --     --
C语言 动态申请 内存

在C语言中,动态申请内存是一项非常重要的技能。通过动态申请内存可以在程序运行期间灵活地分配和管理内存,提高内存的使用效率和程序的灵活性。下面我们就来看看C语言动态申请内存的方法。

1. malloc函数

malloc函数是C语言中用来申请内存的函数,其语法如下:

void* malloc(size_t size);

其中,size_t是一个无符号整型数,表示要申请内存的字节数。该函数返回一个void型指针,指向申请到的内存地址。如果申请内存失败,该函数将返回NULL。

例如,下面的代码申请了一个长度为10的int数组:

int* p = (int*)malloc(10 * sizeof(int));

2. calloc函数

calloc函数也是C语言中用来申请内存的函数,其语法如下:

void* calloc(size_t n, size_t size);

其中,n和size两个参数都是无符号整型数。n表示要申请的元素个数,size表示每个元素的字节数。该函数返回一个void型指针,指向申请到的内存地址。如果申请内存失败,该函数将返回NULL。与malloc函数不同,calloc函数在申请内存时会将内存清零。

例如,下面的代码申请了一个长度为10的int数组,并将其清零:

int* p = (int*)calloc(10, sizeof(int));

3. realloc函数

realloc函数也是C语言中用来申请内存的函数,其语法如下:

void* realloc(void* ptr, size_t size);

其中,ptr是之前申请的内存地址,size是新的内存大小。该函数返回一个void型指针,指向申请到的内存地址。如果申请内存失败,该函数将返回NULL。与malloc函数和calloc函数不同,realloc函数可以对之前申请的内存进行重新分配。

例如,下面的代码将之前长度为10的int数组重新分配为长度为20的int数组:

int* p = (int*)realloc(p, 20 * sizeof(int));

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复