Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Dùng mảng làm tham số.
Và o mộ t lú c nà o đ ó có thể chú ng ta cầ n phả i truyề n mộ t mả ng tớ i mộ t hà m như là mộ t tham số. Trong C++, việ c truyề n theo tham số giá trị mộ t khố i nhớ là khô ng hợ p lệ, ngay cả khi nó đ ư ợ c tổ chứ c thà nh mộ t mả ng. Tuy nhiê n chú ng ta lạ i đ ư ợ c phé p truyề n đ ị a chỉ củ a nó, việ c nà y cũ ng tạ o ra kế t quả thự c tế giố ng thao tá c ở trê n như ng lạ i nhanh hơ n nhiề u và hiệ u quả hơ n. Đ ể có thể nhậ n mả ng là tham số thì đ iề u duy nhấ t chú ng ta phả i là m khi khai bá o hà m là chỉ đ ị nh trong phầ n tham số kiể u dữ liệ u cơ bả n củ a mả ng, tê n mả ng và cặ p ngoặ c vuô ng trố ng. Ví dụ, hà m sau: void procedure (int arg[]) nhậ n và o mộ t tham số có kiể u " mả ng củ a char " và có tê n arg . Đ ể truyề n tham số cho hà m nà y mộ t mả ng đ ư ợ c khai bá o: int myarray [40]; chỉ cầ n gọ i hà m như sau: procedure (myarray); Dư ớ i đ â y là mộ t ví dụ cụ thể
Như bạ n có thể thấ y, tham số đ ầ u tiê n ( int arg[] ) chấ p nhậ n mọ i mả ng có kiể u cơ bả n là int , bấ t kể đ ộ dà i củ a nó là bao nhiê u, vì vậ y cầ n thiế t phả i có tham số thứ hai đ ể bá o cho hà m nà y biế t đ ộ dà i củ a mả ng mà chú ng ta truyề n cho nó. Trong phầ n khai bá o hà m chú ng ta cũ ng có thể dù ng tham số là cá c mả ng nhiề u chiề u. Cấ u trú c củ a mả ng 3 chiề u như sau: base_type [][ depth ][ depth ] ví dụ, mộ t hà m vớ i tham số là mả ng nhiề u chiề u có thể như sau: void procedure (int myarray[][3][4]) chú ý rằ ng cặ p ngoặ c vuô ng đ ầ u tiê n đ ể trố ng như ng cá c cặ p ngoặ c sau thì khô ng. Bạ n luô n luô n phả i là m vậ y vì trì nh biê n dị ch C++ phả i có khả nă ng xá c đ ị nh đ ộ lớ n củ a cá c chiề u thê m và o củ a mả ng. 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" > Mả ng, cả mộ t chiề u và nhiề u chiề u, khi truyề n cho hà m như là mộ t tham số thư ờ ng là nguyê n nhâ n gâ y lỗ i cho nhữ ng lậ p trì nh viê n thiế u kinh nghiệ m. Cá c bạ n nê n đ ọ c bà i 3.3. Con trỏ đ ể có thể hiể u rõ hơ n mả ng hoạ t đ ộ ng như thế nà o. Bà i 8: Xâ u Ký Tự Trong tấ t cả cá c chư ơ ng trì nh chú ng ta đ ã thấ y cho đ ế n giờ, chú ng ta chỉ sử dụ ng cá c biế n kiể u số, chỉ dù ng đ ể biể u diễ n cá c số. Như ng bê n cạ nh cá c biế n kiể u số cò n có cá c xâ u kí tự, chú ng cho phé p chú ng ta biể u diễ n cá c chuỗ i kí tự như là cá c từ, câ u, đ oạ n vă n bả n... Cho đ ế n giờ chú ng ta mớ i chỉ dù ng chú ng dư ớ i dạ ng hằ ng chứ chứ a quan tâ m đ ế n cá c biế n có thể chứ a chú ng. Trong C++ khô ng có kiể u dữ liệ u cơ bả n đ ể lư u cá c xâ u kí tự. Đ ể có thể thỏ a mã n nhu cầ u nà y, ngư ờ i ta sử dụ ng mả ng có kiể u char . Hã y nhớ rằ ng kiể u dữ liệ u nà y ( char ) chỉ có thể lư u trữ mộ t kí tự đ ơ n, bở i vậ y nó đ ư ợ c dù ng đ ể tạ o ra xâ u củ a cá c kí tự đ ơ n. Ví dụ, mả ng sau (hay là xâ u kí tự): char jenny [20]; có thể lư u mộ t xâ u kí tự vớ i đ ộ dà i cự c đ ạ i là 20 kí tự. Bạ n có thể tư ở ng tư ợ ng nó như sau: Kí ch thư ớ c cự c đ ạ i nà y khô ng cầ n phả i luô n luô n dù ng đ ế n. Ví dụ, jenny có thể lư u xâ u " Hello" hay " Merry christmas" . Vì cá c mả ng kí tự có thể lư u cá c xâ u kí tự ngắ n hơ n đ ộ dà i củ a nó, trong C++ đ ã có mộ t quy ư ớ c đ ể kế t thú c mộ t nộ i dung củ a mộ t xâ u kí tự bằ ng mộ t kí tự null, có thể đ ư ợ c viế t là '\0'. Chú ng ta có thể biể u diễ n jenny (mộ t mả ng có 20 phầ n tử kiể u char ) khi lư u trữ xâ u kí tự " Hello" và " Merry Christmas" theo cá ch sau: Chú ý rằ ng sau nộ i dung củ a xâ u, mộ t kí tự null ( '\0' ) đ ư ợ c dù ng đ ể bá o hiệ u kế t thú c xâ u. Nhữ ng ô mà u xá m biể u diễ n nhữ ng giá trị khô ng xá c đ ị nh.
|