Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Kiểu địa chỉ của mảng 2 chiều.

  1. #1
    Ngày gia nhập
    12 2011
    Nơi ở
    TP HCM
    Bài viết
    3

    Mặc định Kiểu địa chỉ của mảng 2 chiều.

    Trả lời giúp mình mấy câu hỏi dưới nha, nếu thấy có thể giải thích thêm thì các bạn cứ giải thích.
    Giả sử mình có một mảng 2 chiều là:
    C Code:
    1. int a[3][4]
    thì kiểu địa chỉ của a là?, có phải là:
    C Code:
    1. int (*p)[3][4]
    không nhỉ?!.
    kiểu địa chỉ của a[2] là?, có phải là:
    C Code:
    1. int (*p)[4]
    không nhỉ?!
    kiểu địa chỉ của a[2][3] có phải là:
    C Code:
    1. int *p
    không nhỉ?!
    Và kiểu địa chỉ có phải là kiểu dùng để lưu địa chỉ của biến?
    Mình rất muốn cùng nhau trao đổi học hỏi với các tất cả các bạn dù bạn mới nhập môn hay đã thành "sư phụ".....(mình nhập môn thôi=)))
    Cùng học tập nhé....nick:cauberong_09.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn có thể coi như * và [] tương đương nhau. Khi hạ cấp con trỏ xuống thì bỏ bớt 1 * hoặc 1 []. Nếu đã bỏ 1 [] mà lại thêm * vô như ví dụ của bạn thì hoàn toàn huề vốn. Con trỏ bao nhiêu chiều là bấy nhiêu dấu * hoặc bấy nhiêu dấu []. Như vậy trong trường hợp này thì int **p sẽ tương đương int a[3][4]. Mình nói tương đương chứ ko nói giống nhau hoàn toàn, vì nó vẫn khác nhau về cách tổ chức dữ liệu trên bộ nhớ. Khi hạ bậc con trỏ xuống thì còn int *p hoặc a[4].
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    12 2011
    Nơi ở
    TP HCM
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Bạn có thể coi như * và [] tương đương nhau. Khi hạ cấp con trỏ xuống thì bỏ bớt 1 * hoặc 1 []. Nếu đã bỏ 1 [] mà lại thêm * vô như ví dụ của bạn thì hoàn toàn huề vốn. Con trỏ bao nhiêu chiều là bấy nhiêu dấu * hoặc bấy nhiêu dấu []. Như vậy trong trường hợp này thì int **p sẽ tương đương int a[3][4]. Mình nói tương đương chứ ko nói giống nhau hoàn toàn, vì nó vẫn khác nhau về cách tổ chức dữ liệu trên bộ nhớ. Khi hạ bậc con trỏ xuống thì còn int *p hoặc a[4].
    Mình vẫn không hiểu?!, nhưng kiểu địa chỉ là gì?!, có phải như mình định nghĩa không?, bạn có thể giải thích giúp mình?!,
    Mình rất muốn cùng nhau trao đổi học hỏi với các tất cả các bạn dù bạn mới nhập môn hay đã thành "sư phụ".....(mình nhập môn thôi=)))
    Cùng học tập nhé....nick:cauberong_09.

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Ngay chỗ bạn tô màu đỏ mình đã ghi khai báo tương đương rồi còn gì. Bạn đọc lại đi.

    int **p tương đương int a[3][4]
    hoặc:

    int *p[3] tương đương int a[3][4]
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

Các đề tài tương tự

  1. Trả lời: 2
    Bài viết cuối: 21-04-2013, 09:46 AM
  2. Lỗi: bố cục trang web tự tăng theo chiều ngang khi chiều cao thay đổi
    Gửi bởi tuanngocpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 16-03-2013, 11:25 PM
  3. Trả lời: 1
    Bài viết cuối: 28-04-2012, 09:43 PM
  4. Cách truyền mang 1 chiều cho hàm bài con trỏ và mảng một chiều ai có thể giải thích giúp mình
    Gửi bởi biencute trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 21-03-2012, 09:00 AM
  5. Lời giải bài tập: Chuỗi Ký tự, mảng số nguyên 1 chiều, mảng 2 chiều, tạo Menu
    Gửi bởi xuanngoc trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 15-10-2011, 01:17 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn