Latest web development tutorials
×

C หลักสูตร

C กวดวิชาภาษา C แนะนำโดยย่อ C การตั้งค่าสภาพแวดล้อม C โครงสร้างหลักสูตร C ไวยากรณ์พื้นฐาน C ชนิดข้อมูล C ตัวแปร C คงที่ C ประเภทการจัดเก็บ C ผู้ประกอบการ C ผู้พิพากษา C การไหลเวียน C ฟังก์ชัน C การกำหนดขอบเขตกฎระเบียบ C แถว C ชี้ C เชือก C โครงสร้าง C สหภาพ C ฟิลด์บิต C typedef C อินพุตและเอาต์พุต C การอ่านออกเขียนเอกสาร C preprocessor C ส่วนหัว C ปลดเปลื้อง C จัดการข้อผิดพลาด C recursion C พารามิเตอร์ตัวแปร C จัดการหน่วยความจำ C บรรทัดคำสั่ง C คลาสสิก 100 ราย

C ห้องสมุดมาตรฐาน

C ห้องสมุดมาตรฐาน - คู่มืออ้างอิง C ห้องสมุดมาตรฐาน - <assert.h> C ห้องสมุดมาตรฐาน - <ctype.h> C ห้องสมุดมาตรฐาน - <errno.h> C ห้องสมุดมาตรฐาน - <float.h> C ห้องสมุดมาตรฐาน - <limits.h> C ห้องสมุดมาตรฐาน - <locale.h> C ห้องสมุดมาตรฐาน - <math.h> C ห้องสมุดมาตรฐาน - <setjmp.h> C ห้องสมุดมาตรฐาน - <signal.h> C ห้องสมุดมาตรฐาน - <stdarg.h> C ห้องสมุดมาตรฐาน - <stddef.h> C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <string.h> C ห้องสมุดมาตรฐาน - <time.h>

C ทำงานห้องสมุด - realloc ()

C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <stdlib.h>

ลักษณะ

Cทำงานห้องสมุดโมฆะ * realloc (void * PTR, ขนาด size_t) ขนาดของบล็อกหน่วยความจำที่จะลองก่อนที่จะเรียกจุด mallocหรือcallocปรับมอบหมายPTR

คำแถลง

นี่คือ () ฟังก์ชัน realloc คำสั่ง

void *realloc(void *ptr, size_t size)

พารามิเตอร์

  • PTR - ตัวชี้ไปจัดสรรใหม่บล็อกหน่วยความจำหน่วยความจำก่อนที่จะบล็อกหน่วยความจำจะถูกจัดสรรหน่วยความจำโดยการเรียก malloc, calloc หรือ realloc ของหากตัวชี้โมฆะได้รับมอบหมายบล็อกใหม่ของหน่วยความจำและฟังก์ชั่นกลับชี้ไปมัน
  • ขนาด - ขนาดใหม่ของบล็อกหน่วยความจำในไบต์ถ้าขนาดคือ 0 และ PTR ชี้ไปยังบล็อกหน่วยความจำที่มีอยู่บล็อกของหน่วยความจำที่ชี้ไปตาม PTR มันถูกปล่อยออกมาและส่งกลับตัวชี้โมฆะ

ราคาย้อนกลับ

ฟังก์ชั่นนี้กลับชี้ไปยังหน่วยความจำขนาดจัดสรร หากคำขอล้มเหลวก็จะกลับเป็นโมฆะ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึง realloc () ฟังก์ชั่นถูกนำมาใช้

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char *str;

   /* 最初的内存分配 */
   str = (char *) malloc(15);
   strcpy(str, "w3cschool");
   printf("String = %s,  Address = %u\n", str, str);

   /* 重新分配内存 */
   str = (char *) realloc(str, 25);
   strcat(str, ".cc");
   printf("String = %s,  Address = %u\n", str, str);

   free(str);
   
   return(0);
}

Let 's รวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะส่งผลต่อไปนี้:

String = w3cschool, Address = 355090448
String = w3cschool.cc, Address = 355090448

C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <stdlib.h>