Danh mục

Chương 3: Mảng và con trỏ

Số trang: 29      Loại file: ppt      Dung lượng: 201.00 KB      Lượt xem: 16      Lượt tải: 0    
Thư viện của tui

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mảng (Array):Là một tập các vị trí nhớ liên tiếp nhau.Các phần tử trong mảng có cùng tên và cùng kiểu.Truy nhập tới phần tử trong mảng:Xác định thông qua tên mảng và chỉ số:arrayname[ position number ].Phần tử đầu tiên ở vị trí thứ 0.
Nội dung trích xuất từ tài liệu:
Chương 3: Mảng và con trỏCHƯƠNG3:Mảngvàcontrỏ 1.Mảng Mảng(Array)  Làmộttậpcácvịtrínhớliêntiếpnhau  Cácphầntửtrongmảngcócùngtênvàcùngkiểu. Truynhậptớiphầntửtrongmảng  Xácđịnhthôngquatênmảngvàchỉsố: arrayname[positionnumber]  Phầntửđầutiênởvịtríthứ0 Khaibáomảng typearrayName[arraySize]; int c[ 10 ]; // mảng c gồm 10 số nguyên float d[ 3284 ]; // mảng d gồm 3284 số thực Cóthểkhaibáonhiềumảngcùngkiểu int b[ 100 ], x[ 27 ]; Khởitạomảng Sửdụngvònglặpfor:gángiátrịchotừngphầntử trongmảng. Sửdụngdanhsáchkhởitạo: int n[ 5 ] = { 1, 2, 3, 4, 5 };  Nếukhôngđủgiátrịkhởitạothìnhữngphầntửcònlạisẽ nhậngiátrịmặcđịnh.  Nếugiátrịkhởitạonhiềuhơnkíchthướcmảngthìsẽbáolỗi.  Gántấtcảcácphầntửvớicùngmộtgiátrị int n[ 5 ] = { 0 };  Nếukíchthướcmảngkhôngđượckhaibáothìdanhsách khởitạosẽxácđịnh: int n[] = { 1, 2, 3, 4, 5 }; //Mảngncó5phầntử Thamsốmảng Thamsốmảngđượcbiểudiễnbởikiểudữliệuvàkíchthướccủa mảng voiddisplay(float[n][m]); Hàmcóthểkhôngcầnbiếtkíchthướccủamảngnhưngphảibiết kíchthướccủamộtphầntửtrongmảng voidmyFunction(intn[]); voiddisplay(float[][m]); Khigọihàm,tachỉcầntruyềntênmảng int myArray[ 24 ]; myFunction( myArray); Mảngđượctruyềntheokiểutruyềnthamchiếu  Hàmcóthểchỉnhsửadữliệucủacácphầntửtrongmảng  Tênmảnglàđịachỉcủaphầntửđầutiên Vídụvềthamsốmảng#includeusingnamespacestd;voidprintarray(intarg[],intlength){ for(intn=0;nMảngnhiềuchiều Mảngnhiềuchiềuđượccoilàmảngcủa mảng. Khaibáo: doublesales[2][2]; sales[1][0]=2.5; Khởitạo: doublesales[2][2]={{1.2,3.0},{1.0,2.3}}; Xâukýtự Làmộtmảngcáckýtự Tấtcảcácxâukýtựđềukếtthúcvớiký tựnull(\0) Vídụ  char string1[] = hello;  Ký tự nullđượctựđộngbổsung.  string1có6kýtự  char string1[] = {h, e, l, l,o, \0’ }; Kiểudữliệustring stringlàmộtlớpchuẩntrongC++ Cáckýtựtrongstringđượcđánhtừ0 Khởitạomộtbiếnkiểustringnhưsau:  strings1(“Man”);  strings2=“Beast”;  strings3; Tacóthểsửdụngcáctóantửtóanhọc,logic…trên đốitượngstring  s3=s1;  s3=“Neither”+s1+“nor”;  s3+=s2; stringvàtoántử>> Hàmgetline(cin,stringstr):lưuthôngtin từluồngvàochuẩnđưavàostr. Vídụ: stringfull_name; cout2.Contrỏ Mỗibiếntrongchươngtrìnhchiếmmộtvùng nhớ,vídụbiếnkiểuintchiếm4bytenhớ. Vịtrícủavùngnhớđượcgọilàđịachỉcủa biến int i; Địa chỉ củai 0x1054 10101011 0x1055 00001111 0x1056 10001000 0x1057 11100011 char c; Địa chỉ củac 0x1058 00111011 short s; Địa chỉ của s 0x1059 10111100 0x1060 11001100Biếncontrỏ Biếncontrỏlàbiếnlưugiátrịcủađịachỉ vùngnhớ. Mỗikiểudữliệucómộtbiếncontrỏriêng: contrỏkiểuint,contrỏkiểuchar… C++sửdụng:  Toántử&đểlấyđịachỉcủabiến  Toántử*đểlấynộidungcủabiếnđượctrỏ. Vídụ:int i=17;int* ptr; // khai báo biến trỏ kiểu intptr= &i; // gán địa chỉ của biến i cho con trỏ ptrcout Biếncontrỏ…int i; 0x1054 17int* ptr; Đị ach ỉ ung N ộidptr=&i;cout Biếncontrỏ…int v; // khai báo biến v kiểu intint w; // khai báo biến w kiểu intint* p; // khai báo biến p kiểu con trỏ trỏ tới kiểu intp=&v; // gán địa chỉ của v cho con trỏ pv=3; // gán giá trị 3 cho v*p=7; // gán giá trị 7 cho vp=&w; // gán địa chỉ của w cho con trỏ p*p=12; // gán giá trị 12 cho w Contrỏhằng Khaibáohằng: constintresult=5; //resultlàhằng result=10; //sauđógánlạigiátrịthìC++sẽbáolỗi Khaibáocontrỏhằng: constchar*answer_ptr=FortyTwo; //answer_ptrlàcontrỏtrỏtớihằngkiểuchar Dữliệuđượctrỏbởicontrỏhằngthìkhông thểthayđổinhưngcontrỏthìcóthể. answer_ptr=FiftyOne;//đúng(answer_ptrlàbiếncontrỏ) *answer_ptr=X;//sai(*answer_ptrlàhằng) Contrỏhằng… Nếukhaibáo: char*constnameptr=Test; //name_ptrlàcontrỏhằng nameptr=New;//sai(name_ptrlàhằng) *nameptr=B;//đúng(*nameptrlàchar) Nếukhaibáonhưsauthìkhôngthể thayđổiđượccảcontrỏvànộidung củacontrỏ: constchar*consttitleptr=Title; Contrỏvàmảng Mảngcóthểđượctruynhậpthôngquacon trỏ. Tênmảnglàmộtcontrỏhằngtrỏtớikiểudữ liệucủacácthànhphầnđượclưutrữtrong mảng.int array[5] = { 23, 5, 12, 34, 17 };// sử dụng chỉ số để truy nhập tới các phần tử của mảngfor (int i=0; i< 5; i++) cout Vídụvề:Contrỏvàmảng #include usingnamespacestd; intmain() { intnumbers[5]; int ...

Tài liệu được xem nhiều: