亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C 库中的 realloc() 函数:如何使用?语法和示例

什么是 realloc()?

realloc() 是 C 库的一个函数,用于向已分配的内存块添加更多内存大小。在 C 中 realloc 的目的是扩展当前内存块,同时保持原始内容不变。 realloc() 函数有助于减少 malloc 或 calloc 函数先前分配的内存大小。 realloc 代表内存的重新分配。

C 中 realloc 的语法

ptr = realloc (ptr,newsize);

上述语句在变量newsize中分配了一个指定大小的新内存空间。函数执行后,指针会返回到内存块的第一个字节。新的大小可以比以前的内存更大或更小。我们不能确定新分配的块是否会指向与前一个内存块相同的位置。 C 中的 realloc 函数将复制新区域中的所有先前数据。它确保数据将保持安全。

例如:

#include <stdio.h>
int main () {
   char *ptr;
   ptr = (char *) malloc(10);
   strcpy(ptr, "Programming");
   printf(" %s,  Address = %u\n", ptr, ptr);

   ptr = (char *) realloc(ptr, 20); //ptr is reallocated with new size
   strcat(ptr, " In 'C'");
   printf(" %s,  Address = %u\n", ptr, ptr);
   free(ptr);
   return 0;
}

如何使用 realloc()

下面的 C 语言程序演示了如何在 C 语言中使用 realloc 来重新分配内存。

#include <stdio.h>
#include <stdlib.h>
    int main() {
        int i, * ptr, sum = 0;
        ptr = malloc(100);
        if (ptr == NULL) {
            printf("Error! memory not allocated.");
            exit(0);
        }
        
        ptr = realloc(ptr,500);
    if(ptr != NULL)
           printf("Memory created successfully\n");
           
    return 0;

    }

C 示例中 realloc 的结果:

Memory created successfully

每当realloc导致操作不成功时,都会返回一个空指针,之前的数据也被释放。


C语言

  1. 我们如何使用钼?
  2. 如何有效地使用 Azure DevOps?
  3. 如何在 VHDL 中使用不纯函数
  4. 如何在 VHDL 中使用函数
  5. 如何在 VHDL 中使用过程
  6. 如何在拼图中使用环氧树脂
  7. 带有程序示例的 C 库中的 calloc() 函数
  8. C 库中的 free() 函数:如何使用?通过示例学习
  9. 何时以及如何使用灭火器
  10. 如何有效地使用喷漆机
  11. 使用热敏电阻有多容易?!
  12. 如何使用刀具磨床