Di sini kita akan mempelajari apa itu peruntukan memori dinamik dalam bahasa C. Bahasa pengaturcaraan C menyediakan beberapa fungsi untuk peruntukan dan pengurusan memori. Fungsi ini boleh didapati dalam fail pengepala
Fungsi ini mengeluarkan blok memori yang ditentukan oleh alamat. | |
---|---|
num | bait dan meninggalkannya tanpa dimulakan.void *realloc(void *address, int newsize); |
newsize | .|
Peruntukkan memori secara dinamik | Semasa pengaturcaraan, jika anda tahu saiz tatasusunan, maka mudah untuk mentakrifkannya sebagai tatasusunan. Sebagai contoh, untuk menyimpan nama mana-mana orang, ia boleh mengandungi sehingga 100 aksara, jadi anda boleh mentakrifkan seperti berikut - char name[100]; Salin selepas log masuk |
Output | Yang sama boleh ditulis menggunakan program calloc(); satu-satunya masalah ialah anda perlu menggantikan malloc dengan calloc seperti yang ditunjukkan di bawah - calloc(200, sizeof(char)); Salin selepas log masuk |
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char name[100]; char *description; strcpy(name, "Adam"); /* allocate memory dynamically */ description = malloc( 30 * sizeof(char) ); if( description == NULL ) { fprintf(stderr, "Error - unable to allocate required memory</p><p>"); } else { strcpy( description, "Adam a DPS student."); } /* suppose you want to store bigger description */ description = realloc( description, 100 * sizeof(char) ); if( description == NULL ) { fprintf(stderr, "Error - unable to allocate required memory</p><p>"); } else { strcat( description, "He is in class 10th"); } printf("Name = %s</p><p>", name ); printf("Description: %s</p><p>", description ); /* release memory using free() function */ free(description); }
Name = Adam Description: Adam a DPS student.He is in class 10th
Atas ialah kandungan terperinci Peruntukan Memori Dinamik ialah mekanisme dalam bahasa C. Ia membenarkan atur cara untuk memperuntukkan secara dinamik dan mengosongkan ruang memori pada masa jalanan. Dengan menggunakan peruntukan memori dinamik, program boleh memperuntukkan memori secara dinamik mengikut keperluan tanpa perlu menentukan saiz memori pada masa penyusunan. Ini membolehkan program mengurus memori dengan lebih fleksibel dan menggunakan sumber sistem yang tersedia dengan cekap.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!