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

Đề tài: Hằng địa chỉ là gì

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mặc định Hằng địa chỉ là gì

    Code:
    Để lân lượt duyệt trên các phần tử của mảng hai chiều ta vẫn có thể dùng con trỏ theo các hsau:
    float *pa,a[2][3];
    pa=(float*)a;
    Chú Ý:
    Phép gán pa=a;
    làm cho C băn khoăn,vì kiểu địa chỉ của pa và a khác nhau,pa là con trỏ float,còn a là địa chỉ kiểu float[3].Tuy vậy,câu lệnh trên vẫn làm việc tốt
    Đoạn này mình lấy trong Sách Kỹ thuật lập trình của Phạm Văn Ất
    Mình muốn hỏi:
    1.Tại sao a là địa chỉ kiểu float[3].
    2.Hằng địa chỉ là gì

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Vấn đề này đã được bàn luận tại đây:
    http://forums.congdongcviet.com/showthread.php?t=8808
    Have fun!

  3. #3
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Trích dẫn Nguyên bản được gửi bởi kegiaumat055 Xem bài viết
    Code:
    Để lân lượt duyệt trên các phần tử của mảng hai chiều ta vẫn có thể dùng con trỏ theo các hsau:
    float *pa,a[2][3];
    pa=(float*)a;
    Chú Ý:
    Phép gán pa=a;
    làm cho C băn khoăn,vì kiểu địa chỉ của pa và a khác nhau,pa là con trỏ float,còn a là địa chỉ kiểu float[3].Tuy vậy,câu lệnh trên vẫn làm việc tốt
    Đoạn này mình lấy trong Sách Kỹ thuật lập trình của Phạm Văn Ất
    Mình muốn hỏi:
    1.Tại sao a là địa chỉ kiểu float[3].
    2.Hằng địa chỉ là gì
    + kiểu của a là float[3] ..... đọc bài viết QuangHoang đưa ra

    có thể tham khảo thêm:

    float a; => kiểu của a là float;

    float *a; => kiểu của a là float * (hoặc float[] )

    float a[9] => kiểu của a là float * (hoặc float[] )

    float a[4][5] => kiểu của a là float ** hoặc cụ thể hơn là float[5]



    ví dụ dễ hiểu trích quanghoàng : a[2][3]={{1,2,3},{4,5,6}}

    Hằng địa chỉ là gì :

    + địa chỉ : ... đọc trong sách
    + hằng : ....

    => hằng địa chỉ là 1 con trỏ có giá trị ko thể bị thay đổi.
    ví dụ :

    int *p;
    thì giá trị của P hay nói cách khác cái nó chỉ tớ là có thể thay đổi được
    p=&a;
    p=&b;

    int a[10];
    thì a sẽ là 1 con trỏ , con trỏ này ko thể trỏ tuỳ tiện, Nó chỉ trỏ đến ô nhớ đã được hệ thống cấp phát, mình ko thể cho nó trỏ linh tinh được
    ví dụ : a=&b =>> lỗi
    => a là hằng con trỏ.
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

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