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

Đề tài: Xem kích thước con trỏ thế nào?

  1. #1
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Wink Xem kích thước con trỏ thế nào?

    Cho đoạn khai báo:
    Code:
    #include<iostream.h>
    const int max=4;
    int main()
    {
    	int *kq,*tong;
    kq = new int[max+1];
    tong = new int[max];
    cout<<"kich thuoc con tro kq: "<<sizeof(kq);
    cout<<"\nkich thuoc con tro tong: "<<sizeof(tong);
    return 0;
    }
    Kết quả: giống nhau!!!!!!!!!!!!!!
    Tại sao vậy nhỉ? ai biết cách in ra chính xác không giúp mình nhé
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  2. #2
    Ngày gia nhập
    12 2009
    Nơi ở
    bế quan tu lại
    Bài viết
    846

    cấp phát là 1 chuyện, kích thước con trỏ lại là chuyện khác ^^

  3. #3
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Trích dẫn Nguyên bản được gửi bởi aydada Xem bài viết
    cấp phát là 1 chuyện, kích thước con trỏ lại là chuyện khác ^^
    Thế bạn biết cái khác nhau thì giúp mình đi!
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  4. #4
    Ngày gia nhập
    11 2010
    Bài viết
    589

    Trích dẫn Nguyên bản được gửi bởi nang Xem bài viết
    Thế bạn biết cái khác nhau thì giúp mình đi!
    Con trỏ thực chất là một số nguyên có giá trị là địa chỉ của biến mà nó trỏ tới. Nên kích thước của con trỏ là kích thước của số nguyên. Ở hệ thống 32bit thì giá trị đó là 4 (byte).

  5. #5
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Trích dẫn Nguyên bản được gửi bởi boss14420 Xem bài viết
    Con trỏ thực chất là một số nguyên có giá trị là địa chỉ của biến mà nó trỏ tới. Nên kích thước của con trỏ là kích thước của số nguyên. Ở hệ thống 32bit thì giá trị đó là 4 (byte).
    Ờ, mình hiểu ra sự nhầm lẫn tai hại. Thế theo bạn để biết nó trỏ vào bộ nhớ được cấp phát là bao nhiêu thì dùng cái gì để xem nhỉ? (Xem kích thước bộ nhớ nó trỏ đến)
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

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

    Mặc định Xem kích thước con trỏ thế nào?

    Cách thì có nhưng phụ thuộc vào trình biên dịch. Tốt nhất là bạn nên lưu lại size khi dùng nó để cấp phát mảng. Nếu bạn vẫn muốn tham khảo thì vào link dưới, bài post thứ 25 trở đi, bài giải đáp của mình nằm ở post 30.
    http://diendan.congdongcviet.com/sho...?t=9664&page=3.
    Cách này chủ yếu làm chơi cho vui chứ khuyến cáo ko nên áp dụng vào project lớn.
    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.

  7. #7
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Cách thì có nhưng phụ thuộc vào trình biên dịch.
    Cảm ơn bạn mèo con lông vàng. Thế chỉ có cách lưu, thế còn đọc như cái lệnh sizeof thì không có bạn nhỉ? Đúng là không biết nó trỏ từ ô nhớ nào đến ô nhớ nào hả bạn?
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

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

    Cách của mình trong coder quán cũng đọc được đấy, nhưng nó chỉ chạy được cho vc6, qua trình biên dịch khác thì phải sửa lại một chút.
    Khi bạn tìm hiểu về trình biên dịch thì sẽ hiểu công dụng của sizeof ngay thôi. Sizeof không phải là hàm, nó là một hình thức hardcode. Ví dụ sizeof(long) trong hệ điều hành 32 bits thì nó sẽ là 4. Nếu bạn hardcode = tay thì sẽ bị thiếu, sót ở một vài chỗ khi code nhiều. Vì vậy người ta đặt vào sizeof(long) là nhờ trình biên dịch hardcode giùm. Trình biên dịch xét thấy hệ điều hành đang chạy là 32 bits thì nó sẽ replace hết nhưng chuỗi nào là sizeof(long) thành 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.

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