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

Đề tài: Cách truyền 1 mảng vào 1 hàm, giúp mình

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

    Mặc định Cách truyền 1 mảng vào 1 hàm, giúp mình

    Mình có viết 1 class và muốn truyền vào 1 mảng, sau đó những thay đổi trong thân hàm sẽ được cập nhật lại mảng đó. Nên mình khai báo sau:

    Code:
    int MyFileLib::MyFunc(int &a[])
    
    int MyFileLib::MyFunc(int &a[224])
    Nhưng 2 khai báo trên đều báo lỗi . Ai giúp mình sửa được không. Tất nhiên là không dùng cách khác nha. Ví dụ đặt 1 mảng Public trong class rồi set value cho mảng đó. Mình không muốn dùng cách đó.

    Truyền biến bình thường thì ok mà sao truyền mảng mệt vậy ta

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    C Code:
    1. int MyFileLib::MyFunc(int *a)

    xem được không, đại ca
    None!

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

    Thì ra xài con trỏ à, để mình thử xem. Còn cách khai báo return trả về 1 mảng thì sao hả bạn ^^ .

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

    Code:
    MyFileLib lib;
    int a[10];
    lib.MyFunc(a);
    Vẫn báo lỗi không đúng kiểu bác ơi ...

  5. #5
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    528

    Trích dẫn Nguyên bản được gửi bởi blackangel Xem bài viết
    Còn cách khai báo return trả về 1 mảng thì sao hả bạn ^^ .
    Trả về con trỏ trỏ vào mảng. Đây là ký pháp hàm, có lợi là trông tự nhiên hơn và có thể trả về mảng chưa biết trước kích thước. Nhưng đòi hỏi phải tạo mảng động nên trong trường hợp biết trước kích thước kết quả (có thể viết theo ký pháp thủ tục) thì hàm không hiệu quả bằng thủ tục.

  6. #6
    Ngày gia nhập
    01 2008
    Nơi ở
    UIT
    Bài viết
    129

    Mặc định Cách truyền 1 mảng vào 1 hàm, giúp mình

    Cho bác ví dụ nhá, các kiểu dữ liệu khác cũng tương tự :

    Code:
    int *MyFunction()
    {
        int *myarray;
        myarray = (int*)malloc(5*sizeof(int));
        return myarray;
    }
    hoặc

    Code:
    int *MyFunction()
    {
        static int myarray[5];
        lệnh ... ;
        return myarray;
    }

  7. #7
    Ngày gia nhập
    05 2008
    Bài viết
    6

    Cảm ơn các bạn nhiều

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

  1. Bài tập C Giúp mình bài tập truyền struct vào function vs
    Gửi bởi vutqse02977 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 30-01-2013, 11:00 AM
  2. [Help]Cần giúp đỡ ý tưởng truyền dữ liệu game đánh bài
    Gửi bởi thangphuong13 trong diễn đàn Nhập môn lập trình Java
    Trả lời: 2
    Bài viết cuối: 10-06-2012, 08:29 PM
  3. Truyền mảng 2 chiều qua hàm giúp mình với
    Gửi bởi comeonbaby trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 18-01-2008, 08:56 PM
  4. vấn đề truyền con trỏ qua hàm giúp mình với
    Gửi bởi comeonbaby trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 20-12-2007, 03:04 PM
  5. Cách truyền tham số cho hàm trong C. Giúp mình?
    Gửi bởi singO2 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 23-12-2006, 03:14 PM

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