Tối ưu bộ nhớ khi sử dụng mảng trong C

Em chào mn, em đang chuyển đổi 1 sô tách thành 1 mảng( ví dụ 1234 thành array[4]={1,2,3,4}),nhưng trong lúc làm em thấy bài tốn bộ nhớ khi không dùng hết mảng đã khai báo.
Cho em hỏi với trường nên dùng cách gì để tối ưu ạ
Code em ở bên dưới.

Không cần thiết vì kiểu gì cũng tối đa 6 slot (16 bit int).

5 Likes
void num_to_text(uint16_t n){
    // khai báo mảng đệm cho chuyển đổi sang chuỗi.
    // mảng này chỉ cần 6 phần tử vì uint16_t thì kịch đường tàu chỉ đến 65535 (5 phần tử)
    // thêm cái '\0' nữa là 6
    uint8_t buffer[6];
    // chuyển đổi int sang chuỗi
    itoa(n,buffer,10);
}
7 Likes

Chính vì lý do đó nên C mới có con trỏ liên kết, mới có cái gọi là “cấp phát động”, rồi sẽ sớm học đến thôi mà, mỗi kiểu dữ liệu có mục đích, nhiệm vụ của nó.

4 Likes

dạ em cảm ơn ạ, để e đọc thêm.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?