Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: Mảng con trỏ và sử dụng mảng con trỏ...

  1. #1
    Ngày gia nhập
    09 2012
    Bài viết
    0

    Question Mảng con trỏ và sử dụng mảng con trỏ...

    Mình đã đọc các bài trong diễn đàn mà vẫn chưa ngộ ra đc vấn đề mình cần đó là sử dụng mảng con trỏ. Theo như mình đã đọc đc thì mảng con trỏ đc khai báo như sau:
    Code:
    type *name[n];
    /*ví dụ*/
    double *a[10];
    nhưng vấn đề ở đây là sử dụng mảng con trỏ như thế nào? Gọi nó ra sao mình vẫn chưa hiểu...
    mình code:
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    int ex(int a,int b,int *c[1]);
    main()
    {
        int x,y,c[1];
    	x=2; y=3;
    	ex(x,y,&c[1]);
    	printf("\nx0=%d\nx1=%d",c[0],c[1]);
    }
    int ex(int a,int b,int *c[1])
    {
        *c[0]=(a+b);
    	*c[1]=(a*b);
    }
    Thì nó bão lỗi... Vậy mình sử dụng mảng con trỏ này như thế sai chỗ nào và nên hiểu ntn?
    Rất mong các bn giúp đỡ xin cảm ơn!
    .........Lặng yên để lắng nghe và cảm nhận........

  2. #2
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    int c[1] là mảng int là c có 1 phần tử :|

  3. #3
    Ngày gia nhập
    09 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi prog10 Xem bài viết
    int c[1] là mảng int là c có 1 phần tử :|
    ồ vậy cái mảng con trỏ nó lại đếm từ 1 ah bn?
    .........Lặng yên để lắng nghe và cảm nhận........

  4. #4
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    Trích dẫn Nguyên bản được gửi bởi thienhoang562 Xem bài viết
    ồ vậy cái mảng con trỏ nó lại đếm từ 1 ah bn?
    Mảng trong C/C++ đánh chỉ số từ zero.
    Nhưng khi bạn viết là int* c[1] thì mảng c chỉ có đúng 1 phần tử thôi: c[0].

  5. #5
    Ngày gia nhập
    09 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi prog10 Xem bài viết
    Mảng trong C/C++ đánh chỉ số từ zero.
    Nhưng khi bạn viết là int* c[1] thì mảng c chỉ có đúng 1 phần tử thôi: c[0].
    Vậy code mình nên sửa ntn thì đúng vậy bn?

    - - - Nội dung đã được cập nhật ngày 29-03-2014 lúc 02:56 PM - - -

    có ai xem giúp tớ với? :(
    .........Lặng yên để lắng nghe và cảm nhận........

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

    Mặc định Mảng con trỏ và sử dụng mảng con trỏ...

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    int ex(int a,int b,int c[2]);
    main()
    {
        int x,y,c[1];
    	x=2; y=3;
    	ex(x,y,c);
    	printf("\nx0=%d\nx1=%d",c[0],c[1]);
    }
    int ex(int a,int b,int c[2])
    {
        c[0]=(a+b);
    	c[1]=(a*b);
    }
    Mảng bẩm sinh đã là con trỏ rồi mà bạn

  7. #7
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    ^ Không hẳn

    int a[N] là đã có vùng nhớ có a trỏ đến , int* a thì chưa chắc.

  8. #8
    Ngày gia nhập
    12 2013
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi prog10 Xem bài viết
    ^ Không hẳn

    int a[N] là đã có vùng nhớ có a trỏ đến , int* a thì chưa chắc.
    Thầy mình ns là rứa mà @@
    thế int *a[10] nghĩa răng vậy bạn .
    Chủ thớt bannick rồi @@
    ......Ai học BKĐN kết bạn làm quen, trao dồi kiến thức......//Mem năm 1 tìm người cùng đam mê

  9. #9
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    Viết lại:
    T a[N] là đã có vùng nhớ có a trỏ đến , T* a thì chưa chắc.
    Thay T bằng int*

  10. #10
    Ngày gia nhập
    12 2013
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi prog10 Xem bài viết
    Viết lại:

    Thay T bằng int*
    *a[mảng] # vs *a mà
    *a là giả trị trong địa chỉ
    Còn &a là địa chỉ của mảng.
    Mảng cũng thế phải ko bạn
    ......Ai học BKĐN kết bạn làm quen, trao dồi kiến thức......//Mem năm 1 tìm người cùng đam mê

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