01/10/2018, 00:29
Đặt toàn bộ giá trị của mảng mà con trỏ trỏ đến = 0 ( không dùng vòng lặp)
chào các bạn
mình thấy mảng có thể vừa khai báo và khởi tạo như sau
int a [8] = {};
tất cả phần từ của a đều = 0
nhưng giờ bài toán của mình muốn tối ưu nên phải cấp phát động
mình sử dụng con trỏ đến mảng
int *b = new int[n];
giờ làm sao để đặt toàn bộ giá trị của mảng mà con trỏ trỏ đến = 0 cả nhỉ, nhưng k sử dụng vòng lặp
có thể làm tương tự như mảng không
mình thử ngu vài cái như
int *b = new int[n ]= {};
nhưng k được
xin cam on
Bài liên quan
Dùng calloc sẽ cấp phát vùng nhớ với giá trị khởi tạo = 0, nhưng hàm này cũng đánh giá là chậm hơn malloc vì … tốn thời gian init
Tham khảo thêm ở đây để thấy sự khác biệt malloc và calloc
trương hợp mình dùng new trong c++ k được bạn à
char* buffer = (char*)malloc(100);
memset(buffer,0,100);
ngay duoi.
new vẫn có thể khởi tạo 0 được
int *a = new int[n]();
tham khảo :))
stackoverflow.com
How to initialise memory with new operator in C++?
trường hơp muốn khởi tại 1 giá trị khác 0 , ví dụ 1 cho toàn bổ mảng mà con trỏ trỏ đên thì có cách nào k bạn (anh ) nhỉ