Come as guests, stay as family.

I ♥ 4MGHC


Hướng dẫn sử dụng diễn đàn Với mong muốn có một Website hỏi đáp chất lượng 4MGHC đã ra đời. Đây là cộng đồng hỏi đáp dành cho lập trình viên, sinh viên, các bạn ưu thích lập trình... Việt Nam. Huy vọng các bậc tiền bối, các bằng hữu gần xa chung tay chia sẽ, giúp đỡ, giải đáp các thắc mắc trên Website. Cùng nhau củng cố, đóng góp cho sự nghiệp phát triển thông tin, công nghệ của đất nước.
Trong diễn đàn bạn có thể
  1. Hỏi đáp trong diễn đàn
  2. Đánh giá và like bài post
Đăng ký

Số người đang xem trên diễn đàn: 1152
12
  1. Tân thế giới
    Posts:
    784319
    Vote:
    2
    Like:
    4
    [C] Hàm main dùng thế nào ?
    Image
    Image
    Users online on this topic: 1
    monghoado
    Awaiting Email Confirmation
    Ngày gia nhập: 10 2006
    Bài viết: 11
    -------------------------
    [C] Hàm main dùng thế nào ?
    Có khi thì thấy nó là: void main() có khi lại chỉ có main() thôi ???

    Vì mình mới đụng nên cũng chưa hiểu cái này lắm .

    Vậy khi nào ta dùng có void và khi nào thì ko cần có void ? ví dụ ???

    và ngoài void main() thì còn cái gì ..... main() nữa ko ??? và dùng trong trường hợp nào ???

    Thông cảm. vì là newbie nên mới hỏi thế này. Mong được tận tình chỉ giáo :(
    Đã được chỉnh sửa lần cuối bởi
    Image 0
    Image
  2. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    Kevin Hoang
    Founder & Administrator
    Ngày gia nhập: 07 2006
    Nơi ở: Hà Nội
    Bài viết: 2,453
    -------------------------
    Theo ANSI C thì hàm main chỉ có một kiểu đó là kiểu int. Không có kiểu khác đâu.

    int main() {...}

    Ở C++ thì hàm main có các kiểu như hàm thông thường, nhưng cũng còn phụ thuộc vào compiler nữa.

    void main(); Kiểu này là kiểu hàm main() không có giá trị trả về

    main(); Đây là mặc định của một số C++ compiler cho hàm main(), đa số compiler mặc định như thế này là kiểu int (Tất nhiên có thể có một compiler nào đó làm ngược đi)

    Chúng ta dùng compiler của C++ để compiling cho C nên có thể sử dụng "void main()" cũng như "main()" được, đây là một lợi thế, nhưng cũng có nhiều người bỏ qua luôn kiến thức về ANSI C, nên rất dễ bị lỗi khi compiling ở các trình dịch khác nhau.

    Nếu muốn biết thêm về ANSI C, vui lòng đọc cuốn "The ANSI C".

    Nếu muốn biết thông tin về compiler của mình vui lòng đọc readme file và help kèm theo.

    Chúc may mắn.
    __________________

    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com

    Phone: 0972 89 7667 (Office: 04 6329 2380)

    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!
    Image 0
    Image
    Image
  3. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    minhcat301
    Khách

    Bài viết: n/a
    -------------------------
    Ban chia sẽ cuốn The AnSi C được ko

    Theo mình thấy thì hàm main mặc định cái gì cũng được

    void() thì ko có giá trị trả về

    int main() hay float main() , .... Mình xài Visual C++ 6.0
    Image 0
    Image
    Image
  4. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    monghoado
    Awaiting Email Confirmation
    Ngày gia nhập: 10 2006
    Bài viết: 11
    -------------------------
    Trích dẫn:
    Nguyên bản được gửi bởi Dreaminess
    Quote: Select all

    void main(); Kiểu này là kiểu hàm main() không có giá trị trả về


    Trị trả về là sao hã bác ??? Em ko hiễu chỗ này lắm mặc dù hay thấy viết vậy !!! ???
    Và hơn nữa, í em muốn hỏi là ngoài void main() ra, còn cái ....main() nào nữa ko ??? Ý nghĩa của nó là gì và dùng trong trường hợp nào ?
    Thanks !!!
    Image 0
    Image
    Image
  5. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    Xcross87
    Thành viên nhiệt tình
    Ngày gia nhập: 09 2006
    Nơi ở: /usr/share/.hack@
    Bài viết: 1,434
    -------------------------
    ví dụ :
    Void main() >>> cuối chương trình có : return ; >> chẳng trả về cái gì hết

    Int main(int agu[]) >>> argument có cũng được kô có chả sao tùy thuộc bạn muốn làm cái gì , ; cuối ch/tr return 0; >> trả về giá trị mặc định của memory
    Long main()

    float main()

    ....

    >> giá trị trả về là cái return đó ..
    Khi nào viết hàm thì sẽ hiểu ..
    Có 3 tương tác giữa main() và hàm được gọi .
    1 . Kô ảnh hưởng : void .. return;

    2. Một chiều từ hàm được gọi về main() ...ví dụ : pow(base, cap),abs(integer)

    3. Tương tác 2 chiều : kiểu con trỏ pointer .. gọi đi gọi lại ...
    Kiểu như thế...
    __________________

    None!
    Image 0
    Image
    Image
  6. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    monghoado
    Awaiting Email Confirmation
    Ngày gia nhập: 10 2006
    Bài viết: 11
    -------------------------
    Kiến thức C của em còn non kém hay sao mà em vẫn chưa hiểu í bác pete_87 nói lắm :(
    Còn cái trị trả về là thế nào ?? các b ác có thể ví dụ thêm đc ko ?? Em thực sự chưa hiểu cái cụm từ này nói gì, í nghĩa gì ... ví dụ đi các bác ơi ! :(
    __________________

    Cộng Đồng C Việt dot COM
    Image 0
    Image
    Image
  7. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    Xcross87
    Thành viên nhiệt tình
    Ngày gia nhập: 09 2006
    Nơi ở: /usr/share/.hack@
    Bài viết: 1,434
    -------------------------
    Thế này thì khó quá nhỉ ... Có khi bạn nên chat yahoo với mấy người giỏi giỏi ở đây để biết kĩ hơn . Mình cũng được nhưng kô biết nhiều ^o^
    __________________

    None!
    Image 0
    Image
    Image
  8. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    PoPoPoPo
    BOOM JSC
    Ngày gia nhập: 10 2006
    Nơi ở: Hà Nội
    Bài viết: 146
    -------------------------
    re
    Quả thật bạn monghaodo quá non, có lẽ bạn mới chỉ đọc/học C được vài hôm.

    Mình thử nói thế này bạn có hiểu không nha:

    Hàm: là một tập các thao tác tính toán để cho ra một kết quả nào đó.

    Hàm nó cũng có kiểu giá trị giống như biến, hoặc không mang giá trị gì.

    ví dụ biến có kiểu int, float, long,bool,....

    thì hàm cũng có các kiểu như vậy, hoặc nó không mang giá trị .

    Khai báo biến là : int x, long y, float z...

    thì Khai báo hàm cũng vậy:

    int Songuyento(int x);

    float CanBacHai(float y);

    ...

    Có một điều khác là Hàm thì có tham biến, đó là long x, float y trên đó.

    Nghĩa là hàm thao tác trên tập các tham biến đầu vào nào đó để mới cho ra kết quả mà hàm cần trả về. Ta biết rằng mục đích của hàm Songuyento(x) là trả về một số nguyên tố, giá trị này được gọi là giá trị trả về của hàm. Và kiểu của giá trị đó là kiểu giá trị trả về của hàm.

    Có lúc hàm cũng thao tác trên tập các tham biến nhưng không trả về giá trị nào cả. Lúc đó ta gọi hàm không có giá trị trả về. Ví dụ các thao tác mở và đọc file.

    Nhưng hàm dạng này thì có từ khóa Void trước tên hàm trong khai báo hàm.

    Thường hàm Main của ta chỉ thực hiện thao tổng hợp, gắn kết và in ra kết quả chứ không có giá trị trả về cụ thể, nên khai báo là Void Main()

    Còn có dạng khác như bạn pete đã nói ở trên.
    __________________



    Công ty cổ phần đầu tư và phát triển BOOM
    Image 0
    Image
    Image
  9. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    shinichi_haha
    Thành viên tích cực
    Ngày gia nhập: 07 2006
    Bài viết: 121
    -------------------------
    Vậy hàm int main() trả về một số kiểu int vậy cái gì giữ con số này và giữ để làm gì?
    Image 0
    Image
    Image
  10. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    Kevin Hoang
    Founder & Administrator
    Ngày gia nhập: 07 2006
    Nơi ở: Hà Nội
    Bài viết: 2,453
    -------------------------
    Trích dẫn:
    Vậy hàm int main() trả về một số kiểu int vậy cái gì giữ con số này và giữ để làm gì?
    Cái này cũng dài đó, để vài bữa nữa dreaminess hoàn thành bài một số vấn đề về ngôn ngữ C thì có cả cái này. Bữa nay mệt quá, đi ngủ đã.

    Ah, Mà mấy anh có kinh nghiệm về lập trình C không thấy thảo luận gì cả, em viết sai khối chỗ(sai lớn đó), cũng không thấy có ý kiến gì . Không biết có cười em không nữa. Phải nhiệt tình chút cho bọn em được nhờ chứ nhỉ?
    __________________

    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com

    Phone: 0972 89 7667 (Office: 04 6329 2380)

    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!
    Image 0
    Image
    Image
  11. Ký Túc Xá
    Posts:
    2533979
    Vote:
    19
    Like:
    2
    Image
    Image
    monghoado
    Awaiting Email Confirmation
    Ngày gia nhập: 10 2006
    Bài viết: 11
    -------------------------
    Trích dẫn:
    Nguyên bản được gửi bởi Dreaminess
    Quote: Select all

    Cái này cũng dài đó, để vài bữa nữa dreaminess hoàn thành bài một số vấn đề về ngôn ngữ C thì có cả cái này.


    hoan hô Dreaminess Bạn nhiệt tình quá
    Trích dẫn:
    Nguyên bản được gửi bởi Dreaminess
    Quote: Select all

    Ah, Mà mấy anh có kinh nghiệm về lập trình C không thấy thảo luận gì cả, em viết sai khối chỗ(sai lớn đó), cũng không thấy có ý kiến gì . Không biết có cười em không nữa. Phải nhiệt tình chút cho bọn em được nhờ chứ nhỉ?


    cái này chắc còn phải chờ đấy. Tự CDCV phải có những bước phát triển ban đầu thật ấn tượng thì tự động sẽ thu hút nhiều người thôi.
    Cũng đơn giản như một forum giải trí hay, âm nhạc. Thành viên và BQT có những bài viết, bài dịch thật giá trị thì sẽ được mọi người đánh giá cao và tự có tiếng nói riêng của mình. Dù có bài viết có được forward đi đâu cũng mang dấu ấn riêng của mình, khiến người đọc tự biết đến và đánh giá cao chất lượng.
    Ngoài ra cũng phải có thêm các chiến dịch quãng cáo, giới thiệu, chuyện này mỗi anh em trong 4rum làm 1 cái thì chắc cũng được kha khá
    (Thôi chết, mình đi lạc đề rồi , sorry nha)
    __________________

    Cộng Đồng C Việt dot COM
    Image 0
    Image
    Image
12