-
21-03-2016, 04:20 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Xin giải thích giùm mình câu lệnh dưới này ?
Câu lệnh như này :
int *d;
d=new int[10];
Ở đây có phải là tạo mười con trỏ d không ?[IMG]images/smilies/thinking.gif[/IMG]
Mà cho hỏi thêm cái này khi dùng mảng động thì
có hay không có con số bên trong ngoặc []. Có ảnh hưởng gì không ?[IMG]images/smilies/thinking.gif[/IMG].View more random threads:
- Call Funcition in Process
- char *strcpy( char *dest, const char *src)
- Thuật toán K mean
- CHeck 1 trang web đã được IE load xong chưa bằng VC++
- hàm call sử dụng như thế nào?
- [VC 2005] báo lổi gì vậy ?
- name mangling trong C và C++ tác dụng thế nào?
- Thắc mắc VC 2008 Express
- Mô phỏng hoạt động máy chủ phân giải tên miền đơn giản
- hàm gltexcoord trong OpenGL
-
22-03-2016, 06:18 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Đây chỉ là tạo 1 con trỏ, trỏ tới 1 mảng 10 phần tử int.
Khi cần truy xuất giá trị con trỏ thì chỉ cần ghi biến trỏ, ví dụ : int * temp = d;
Khi cần truy xuất giá trị của phần tử trong mảng mà con trỏ trỏ tới thì cần chỉ rõ phần tử, ví dụ : d[2] = 5; (gán giá trị 5 cho phần tử thứ 3 trong mảng mà d trỏ tới)
Khi đặt làm tham số trong một hàm/phương thức liên quan có thể có hoặc không có cặp ngoặc [].
Ví dụ :
_ Dùng theo con trỏ : void Function1(int * d1){ d1[2] = 5; ...}. Trong trường hợp này bạn phải tự kiểm tra giới hạn mảng, ví dụ như d1[10] = 1; có thể treo chương trình khi thực thi.
_ Dùng theo mảng : void Function2(int d2[]){ d2[2] = 5; ...} (cũng phải tự kiểm tra như trên) hoặc void Function2(int d2[10]){ d2[2] = 5; ...}. Trong trường hợp sau, các trình dịch có thể báo lỗi giùm bạn nếu vượt quá chí mục mảng ví dụ như d2[10] = 1; có thể có cảnh báo hoặc lỗi từ trình dịch.
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...