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

Đề tài: Đối con trỏ của hàm, thắc mắc??

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

    Mặc định Đối con trỏ của hàm, thắc mắc??

    Mình search trên google và thấy mẫu ctrinh này, rất đơn giản nhưng mình có 1 điểm thấy lạ & thắc mắc :

    Code:
    #include<stdio.h>
    
    void func(char *buf)
    {
            printf("%s\n",buf);
    }
    int main()
    {
            char buf[7] = "vietwow" ;
            func(buf);
    }
    Khi chạy ctrinh thì in ra chữ vietwow :

    [root@Server ~]# gcc -o source source.c
    [root@Server ~]# ./source
    vietwow


    Cái mình thắc mắc là tại sao hàm func nhận tham số là 1 con trỏ, vậy mà hàm main khi gọi hàm func lại đưa đối số vào là 1 mảng, vậy mà chương trình vẫn hiểu ?

    Ai biết giải thích giùm mình với
    Thanx

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

    Vì mảng chính là một con trỏ hằng !

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Cái mình thắc mắc là tại sao hàm func nhận tham số là 1 con trỏ, vậy mà hàm main khi gọi hàm func lại đưa đối số vào là 1 mảng, vậy mà chương trình vẫn hiểu ?
    Bạn có thể hiểu một cách đơn giản "mảng là con trỏ hằng".

    Giống như bạn viết hàm tính n giải thừa và gọi hàm đó tính 10 giai thừa.

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

    Trích dẫn Nguyên bản được gửi bởi howto Xem bài viết
    Vì mảng chính là một con trỏ hằng !
    Bạn có link tài liệu này nói về đoạn này ko ? Vì mình đọc 1 số sách C màm ko thấy (hoặc có lẽ do mình bỏ sót )

    Thanx

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

    Tui học C lâu lắm rồi nên ko nhớ rõ trong tài liệu nào Nhưng nếu nhớ không nhầm thì mấy tài liệu tiếng Việt của Phạm Văn Ất hay Nguyễn Đình Tê - Hoàng Đức Hải đều nói

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