Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    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].

  2. #2
    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.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •