菜单
×
   ❮   
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;
自己动手试一试 »

定义和用法

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

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

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


语法

realloc(void * ptr, size_t size);

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

参数值

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

技术详情

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

❮ C stdlib 库

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持