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

Đề tài: Lấy Kích thước mảng

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    3

    Mặc định Lấy Kích thước mảng

    Thành viên mới không biết hỏi ở đây có đúng luồng không? Mình mới học C nên có một số vấn đề cần các pro giúp đỡ.
    Mình muốn viết một hàm lấy kích thước mảng không quan tâm mảng được dùng trong tương lai có bao nhiêu phần tử nhưng trong thân hàm có vòng lặp vì thế vấn đề là không biết làm sao để lấy điều kiện dừng.
    đại loại thế này

    int LaySoPhanTu( int M[]) {
    //thân hàm....
    }

    Mong các pác giúp đỡ (em rốt nên các pác demo giùm nhé).

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Vấn đề này OS dependent, trong Windows có 1 hàm m_size() để lấy kíck thước thì phải( tui không nhớ rõ lắm ) bên Linux hay Unix thì có lẽ khác nữa. Chẳng có gì sai nếu 1 hàm vừa nhận 1 con trỏ vừa nhận 1 size ví dụ :
    C++ Code:
    1. void func( int ary[], int size_of_array );
    Hay cách tốt hơn :
    C++ Code:
    1. std::vector< int > ary;
    2. boost::array< int > ary;

  3. #3
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Có thể dùng sizeof
    What you see is never what you get...

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Khi pointer ở vị trí tham số compiler không thể dùng với sizeof() được đâu voidmain()
    C++ Code:
    1. #include <iostream>
    2.  
    3. int take_size( int ary[] )
    4. {
    5.     return sizeof( ary );
    6. }
    7.  
    8. int main()
    9. {
    10.     int ary[ 4 ];
    11.     std::cout << sizeof( ary ) << std::endl;
    12.     std::cout << take_size( ary ) << std::endl;
    13.  
    14.     return 0;
    15. }

  5. #5
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Đúng là như vậy thật
    What you see is never what you get...

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

    Mặc định Lấy Kích thước mảng

    Nếu bạn dùng toán tử new để cấp phát thì đây là câu trả lời :
    http://forums.congdongcviet.com/show...6&postcount=25

    Cách này ko phụ thuộc OS nhưng phụ thuộc compiler
    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