Khai báo mu cho hàm ẫ

Một phần của tài liệu Bài 1 : Cấu Trúc Của Một Chương Trình C++ ppsx (Trang 28 - 30)

Cho đ n gi chúng ta hoàn toàn ph i đ nh nghĩa hàm trế ờ ả ị ướ ệc l nh g i đ u tiên đ n nó,ọ ầ ế

mà thường là trong main, vì v y hàm ậ main luôn ph i n m cu i chả ằ ố ương trình. N u b nế ạ

th l p l i m t vài ví d v hàm trử ặ ạ ộ ụ ề ước đây nh ng th đ t hàm ư ử ặ main trước b t kì m tấ ộ

hàm được g i t nó, b n g n nh ch c ch n s nh n đọ ừ ạ ầ ư ắ ắ ẽ ậ ược thông báo l i. Nguyênỗ

nhân là m t hàm ph i độ ả ược khai báo trước khi nó được g i nh nh nggx gì chúng taọ ư ư

đã làm trng t t c các ví d .ấ ả ụ

Nh ng có m t cách khác đ tránh ph i vi t t t c mã chư ộ ể ả ế ấ ả ương trình trước khi chúng có th để ược dùng trong main hay b t kì m t hàm nào khác. Đó chính là ấ ộ khai báo m u choẫ hàm. Cách này bao g m vi c khai báo hàm m t cách ng n g n nh ng đ đ cho trìnhồ ệ ộ ắ ọ ư ủ ể

d ch có th bi t các tham s và ki u d li u tr v c a hàm.ị ể ế ố ể ữ ệ ả ề ủ

D ng c a nó nh sau: ạ ủ ư

type name ( argument_type1, argument_type2, ...);

Đây chính là ph n đ u c a đ nh nghĩa hàm, ngo i tr : ầ ầ ủ ị ạ ừ

• Nó không có b t kì l nh nào cho hàm. Đi u này có nghĩa là nó không bao g mấ ệ ề ồ

thân hàm v i t t c các l nh thớ ấ ả ệ ường được b c trong c p ngo c nh n ọ ặ ặ ọ { }. • Nó k t thúc b ng d u ch m ph y (ế ằ ấ ấ ẩ ;).

• Trong ph n li t kê các tham s ch c n vi t ki u c a chúng là đ . Vi c vi t tênầ ệ ố ỉ ầ ế ể ủ ủ ệ ế

c a các tham s trong ph n khai báo m u là không b t bu c. ủ ố ầ ẫ ắ ộ

Ví d :ụ

// prototyping

#include <iostream.h> void odd (int a); void even (int a); int main ()

{

int i;

Type a number (0 to exit): 9

Number is odd.

Type a number (0 to exit): 6

Number is even.

Type a number (0 to exit): 1030

Number is even.

Type a number (0 to exit): 0

do {

cout << "Type a number: (0 to exit)"; cin >> i; odd (i); } while (i!=0); return 0; }

void odd (int a) {

if ((a%2)!=0) cout << "Number is odd.\n";

else even (a); }

void even (int a) {

if ((a%2)==0) cout << "Number is even.\n";

else odd (a); }

Ví d này rõ ràng không ph i là m t ví d v s hi u qu . Tôi ch c ch n r ng cácụ ả ộ ụ ề ự ệ ả ắ ắ ằ

b n có th nh n đạ ể ậ ược k t qu nh trên ch v i m t n a s dòng l nh. Tuy nhiên nóế ả ư ỉ ớ ộ ử ố ệ

giúp cho chúng ta th y đấ ược vi c khai báo m u các hàm là nh th nào. H n n a,ệ ẫ ư ế ơ ữ

trong ví d này vi c khai báo m u ít nh t m t hàm là b t bu c.ụ ệ ẫ ấ ộ ắ ộ

Đ u tiên chúng ta th y khai báo m u c a hai hàm ầ ấ ẫ ủ oddeven: void odd (int a);

void even (int a);

cho phép hai hàm này có th để ượ ử ục s d ng trước khi chúng được đ nh nghĩa hoànị

ch nh. Tuy nhiên lý do đ c bi t gi i thích t i sao chỉ ặ ệ ả ạ ương trình này l i c n ít nh t m tạ ầ ấ ộ

hàm ph i đả ược khi báo m u là trong ẫ odd có m t l i g i đ n ộ ờ ọ ế even và trong even có m tộ

l i g i đ n ờ ọ ế odd. Vì v y n u không có hàm nào đậ ế ược khai báo trước thì l i ch c ch nỗ ắ ắ

s x y ra. ẽ ẩ

style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 3pt solid"> R t nhi u l p trình viên kinh nghi m khuyên r ng ấ ề ậ ệ ằ t t cấ ả các hàm nên được khai báo m u. Đó cũng là l i khuyên c a tôi, nh t là trong trẫ ờ ủ ấ ường h p có nhi u hàm ho c chúngợ ề ặ

r t dài, khi đó vi c khai báo t t c các hàm cùng m t ch cho phép chúng ta bi tấ ệ ấ ả ở ộ ỗ ế

ph i g i các hàm nh th nào, vì v y ti t ki m đả ọ ư ế ậ ế ệ ược th i gian. ờ Bài 7 : M ngả

M ng là m t dãy các ph n t có cùng ki u đả ộ ầ ử ể ược đ t liên ti p trong b nh và có thặ ế ộ ớ ể

truy xu t đ n t ng ph n t b ng cách thêm m t ch s vào sau tên c a m ng.ấ ế ừ ầ ử ằ ộ ỉ ố ủ ả

Đi u này có nghĩa là, ví d , chúng ta có th l u 5 giá tr ki u ề ụ ể ư ị ể int mà không c n ph iầ ả

khai báo 5 bi n khác nhau.Ví d , m t m ng ch a 5 giá tr nguyên ki u ế ụ ộ ả ứ ị ể int có tên là

billy có th để ược bi u di n nh sau: ể ễ ư

trong đó m i m t ô tr ng bi u di n m t ph n t c a m ng, trong trỗ ộ ố ể ễ ộ ầ ử ủ ả ường h p này làợ

các giá tr nguyên ki u ị ể int. Chúng được đánh s t ố ừ0 đ n ế 4 vì ph n t đ u tiên c aầ ử ầ ủ

m ng luôn là ả 0 b t k đ dài c a nó là bao nhiêu. ấ ể ộ ủ

Nh b t kì bi n nào khác, m t m ng ph i đư ấ ế ộ ả ả ược khai báo trước khi có th s d ng.ể ử ụ

M t khai báo đi n hình cho m t m ng trong C++ nh sau: ộ ể ộ ả ư

type name [elements];

trong đó type là m t ki u d li u h p l (ộ ể ữ ệ ợ ệ int, float...), name là m t tên bi n h p l vàộ ế ợ ệ

trường elements ch đ nh m ng đó s ch a bao nhiêu ph n t ỉ ị ả ẽ ứ ầ ử

Vì v y, đ khai báo ậ ể billy nh đã trình bày trên chúng ta ch c n m t dòng đ n gi nư ở ỉ ầ ộ ơ ả

nh sau: ư

int billy [5];

Chú ý: Trường elements bên trong c p ngo c ặ ặ [] ph i là m t giá tr h ng khi khai báoả ộ ị ằ

m t m ng, vì m ng là m t kh i nh tĩnh có kích c xác đ nh và trình biên d ch ph i cóộ ả ả ộ ố ớ ỡ ị ị ả

kh năng xác đ nh xem c n bao nhiêu b nh đ c p phát cho m ng trả ị ầ ộ ớ ể ấ ả ước khi các l nhệ

có th để ược th c hi n.ự ệ

Một phần của tài liệu Bài 1 : Cấu Trúc Của Một Chương Trình C++ ppsx (Trang 28 - 30)

Tải bản đầy đủ (PDF)

(65 trang)