Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C stdlib realloc() 函数

❮ C stdlib 库


示例

增加已分配内存

// Allocate memory for a number of items
int numItems = 10;
int *myArray = malloc(numItems * sizeof(int));

// Write into the memory
for(int i = 0; i < numItems; i++) {
  myArray[i] = i + 1;
}

// Reallocate the memory
numItems = 20;
myArray = realloc(myArray, numItems * sizeof(int));

// Display the contents of the memory
for(int i = 0; i < numItems; i++) {
  printf("%d ", myArray[i]);
}

// Free the memory
free(myArray);
myArray = NULL;
自己试试 »

定义和用法

The realloc() 函数改变一块内存的大小并返回指向该内存块的指针。如果没有足够的内存,则内存块将被移动到不同的位置,并返回不同的指针。新分配内存中的值不可预测。

The realloc() 函数在 <stdlib.h> 头文件中定义。

要了解更多关于内存分配的信息,请查看我们的 C 内存管理教程


语法

realloc(void * ptr, size_t size);

The size_t 数据类型是一个非负整数。

参数值

参数 描述
ptr 指定要重新分配的内存块。
size 指定以字节为单位的内存块的新大小。

技术细节

返回值 指向内存块的 void * 指针。

❮ C stdlib 库

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.