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

Đề tài: không hiểu ((int*)pv) là như thế nào

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Unhappy không hiểu ((int*)pv) là như thế nào

    #include<iostream.h>

    int f(int *);
    double v=12;
    double *pv=&v;

    int main()
    {
    f((int *)pv); // EM KHÔNG HIỂU giải thích dùm em với
    return 0;
    }

    int f(int *pd)
    {
    cout<<*pd<<endl;
    return *pd;
    }

  2. #2
    Ngày gia nhập
    01 2011
    Bài viết
    116

    Cái này để ép kiểu về kiểu int* cho phù hợp với hàm bạn ạ, nhưng nếu mình ko nhầm thì phải viết khác thì phải, nếu viết như bạn thì hàm ko thực hiện chính xác thì phải
    C++ Code:
    1. while ( you_live) {
    2. if (you_failed) try_again();
    3. else if ( you_won) find_new_challenge();
    4. }
    5. system("DEATH");
    6. return HELL;

  3. #3
    Ngày gia nhập
    04 2011
    Nơi ở
    Heaven
    Bài viết
    90

    con trỏ hàm của bạn tham chiếu tới hàm có tham số là một con trỏ int* vì thế trong hàm bạn phải ép p về int* thì hàm mới đúng
    I'll come back

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

    thì nó ép cái con trỏ pv trước là trỏ về kiểu double về con trỏ trỏ về kiểu int
    sau đó in cái biến đó ra(in theo kiểu int).
    Chắc mục đích ở đây là để xem cách lưu kiểu double thế nào.
    (ko nhớ rõ, double, float đêu lưu theo chuân ieee754)

  5. #5
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Trích dẫn Nguyên bản được gửi bởi dragonbk91 Xem bài viết
    Cái này để ép kiểu về kiểu int* cho phù hợp với hàm bạn ạ, nhưng nếu mình ko nhầm thì phải viết khác thì phải, nếu viết như bạn thì hàm ko thực hiện chính xác thì phải
    đúng là ép kiểu nhưng tớ ko hiểu lắm.... kiểu double = 4by ma kiểu int có 2by nên khi ép kiểu thì nó lấy by cao hay by thấp nếu by cao thì trả về 0 còn thấp thì là 12 ko biết nữa

  6. #6
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Mặc định không hiểu ((int*)pv) là như thế nào

    Trích dẫn Nguyên bản được gửi bởi totden Xem bài viết
    thì nó ép cái con trỏ pv trước là trỏ về kiểu double về con trỏ trỏ về kiểu int
    sau đó in cái biến đó ra(in theo kiểu int).
    Chắc mục đích ở đây là để xem cách lưu kiểu double thế nào.
    (ko nhớ rõ, double, float đêu lưu theo chuân ieee754)
    thay số kiểu gì nó cũng trả về 0 hết...bó tay rồi

  7. #7
    Ngày gia nhập
    01 2011
    Bài viết
    116

    ép kiểu con trỏ hơi khác so với ép kiểu dữ liệu đó bạn.
    C++ Code:
    1. while ( you_live) {
    2. if (you_failed) try_again();
    3. else if ( you_won) find_new_challenge();
    4. }
    5. system("DEATH");
    6. return HELL;

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