Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Khai báo mẫu cho hàm.






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; 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); } 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 Number is even.

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 odd even :

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.

Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал