- biến động được tạ ra khi chạy chương trình. thông qua con trỏ bộ nhớ được cấp phát và quản lý
- các thao tác trên bộ nhớ và con trỏ nằm trong thư viện stdlib.h và alloc.h
- các hàm cấp phát và giai phóng bộ nhớ: maaloc, alloc, realloc, free
- chứa năng của hàm malloc là cấ phát 1 vùng nhớ có kích thowcs size
ví dụ: int *p;
p=(int *)malloc(100);
p=(int *)malloc(80*sizeof(int)); - hàm free dùng để giải phóng bộ nhớ đã cấp phát.
free(p); - ví dụ:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void mian()
{
char *s;
s=(char*)malloc(10);
strcpy(s,"HELLO");
puts(s);
free(s);
} - hàm calloc cấp phát bộ nhớ nitems*size byte
void *calloc(size_t nitems,size byte); - hàm realloc điêuchỉnh lai kích thước đã cấp phát là block size byte
void *realloc(void *block,sizebyte); - khởi tạo mảng cấp phát động
int *a=(int *)malloc(n*sizeof(int)):
int *a=(int*)calloc(n,sizeof(int)); - kiểm tra cấp phát thành công
if(a!=NULL)
{
//làm việc với mảng
free(a);//giai phóng
} - cấp phât động mảng 2 chiều
int **a=(int**)malloc(hàng*sizeof(int*));
for(int i=0;i<n;i++)
a[i]=(int*)malloc(cột*sizeof(int));
Wednesday, December 31, 2014
hàm malloc cập phát bộ nhớ động
hàm malloc, alloc, realloc, free, cấp phát và giải phóng bộ nhớ động trong lập trình c
Related Posts:
hàm trong ngôn ngữ lập trình c (part 1) Hàm là một khối lệnh được thực hiện khi nó được gọi từ một điểm khác của chương trình. Dạng thức của nó như sau: type name ( argument1, argument2, ...) statement trong đó: type là kiểu dữ liệu được trả về của hàm n… Read More
mảng nhiều chiều, đa chiều trong c Mảng nhiều chiều có thể được coi như mảng của mảng, ví dụ, một mảng hai chiều có thể được tưởng tược như là một bảng hai chiều gồm các phần tử có kiểu dữ liệu cụ thể và giống nhau 0 1 2 3 4 0 … Read More
chuỗi , xâu ký tự trong c chuỗi , xâu ký tự trong c Trong tất cả các chương trình chúng ta đã thấy cho đến giờ, chúng ta chỉ sử dụng các biến kiểu số, chỉ dùng để biểu diễn các số. Nhưng bên cạnh các biến kiểu số còn có các xâu kí tự, chúng cho p… Read More
mảng một 1 chiều trong lập trình Mảng là một dãy các phần tử có cùng kiểu được đặt liên tiếp trong bộ nhớ và có thể truy xuất đến từng phần tử bằng cách thêm một chỉ số vào sau tên của mảngĐiều này có nghĩa là, ví dụ, chúng ta có thể lưu 5 giá trị kiểu … Read More
hàm trong ngôn ngữ lập trình c (part 2) 1.Truyền tham số theo tham số giá trị hay tham số biến Cho đến nay, trong tất cả các hàm chúng ta đã biết, tất cả các tham số truyền cho hàm đều được truyền theo giá trị. Điều này có nghĩa là khi chúng ta gọi hàm với các… Read More