1. Trang chủ
  2. » Công Nghệ Thông Tin

Các yếu tố xây dựng nên C và C++ phần 7 pptx

7 256 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 272,7 KB

Nội dung

43 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ 2.3.6 Typedef  Từ khóa typedef tạoramột tên mớichomộtkiểucó sẵn, không ₫ịnh nghĩamộtkiểumới  Ý nghĩa: ₫ưa tên mớidễ nhớ, phù hợpvới ứng dụng cụ thể, dễ thay ₫ổivề sau typedef float REAL; typedef int AnalogValue; typedef int Vector[10]; typedef AnalogValue AnalogModule[8]; typedef int* IPointer; AnalogValue av1 = 4500; Vector x = {1,2,3,4,5,6,7,8,9,10}; AnalogModule am1 = {0}; IPointer p = &av1; 44 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ 2.4 Định nghĩa kiểudữ liệumới  Cấutrúc(struct): Tậphợpnhững dữ liệuhỗnhợp, truy nhập theo tên (biếnthànhviên). Thôngdụng nhất trong C, ý nghĩa ₫ượcmở rộng trong C++  Hợpnhất(union): Mộttênkiểu chung cho nhiềudữ liệu khác nhau (chiếmcùngchỗ trong bộ nhớ). Ít thông dụng trong cả C và C++  Lớp(class): Chỉ có trong C++, mở rộng struct cũ thêm những hàm thành viên. 45 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ 2.4.1 Cấutrúc(struct)  Định nghĩacấutrúc(bêntronghoặc ngoài các hàm) Các biến thành viên, khai báo ₫ộclập hoặc chung kiểu Các biến thành viên có thể cùng kiểu hoặc khác kiểu Tên kiểumới (không trùng lặp) struct Time { int hour; // gio int minute; // phut int second; // giay }; struct Date { int day, month, year; }; struct Student { char name[32]; struct Date birthday; int id_number; }; C++ 46 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Khai báo biếncấutrúc void main() { Time classTime = {6,45,0}; Time lunchTime = {12}; Date myBirthday, yourBirthday = {30,4,1975}; Student I = {"Nguyen Van A", {2,9,1975}}; // 47 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Sử dụng biếncấutrúc / void main() { Time classTime = {6,45,0}; Time lunchTime = {12}; Date myBirthday, yourBirthday = {30,4,1975}; Student I = {"Nguyen Van A", {2,9,1975}}; lunchTime.minute = 15; lunchTime.hour = classTime.hour + 6; Student U = I; // in C++ also possible: Student U(I); U.name[11] = 'B'; // "Nguyen Van B" U.id_number++; // 1 U.birthday.day = 30; // 30-9-1975 U.birthday.month = 4; // 30-4-1975 U.birthday = yourBirthday; // structs can be assigned } 48 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Phảnvídụ: khaibáovàsử dụng cấutrúc struct Time { int hour = 0; // error, initialization not allowed int minute, // error, use semicolon (;) instead int second // error, missing semicolon (;) } // error, missing semicolon (;) // void main() { Date d; d = {11,9,2001}; // error, { } is an initialization // list,not a structure Date.hour = 0; // error, Date is a type, not a var. struct Date2 { int day, month, year; }; Date2 d2 = d; // error, Date is not compatible to Date2 } 49 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Mảng, con trỏ và cấutrúc  Kếthợpmảng, con trỏ và cấutrúcchophépxâydựng và sử dụng các cấutrúcdữ liệuphứctạpmộtcáchrất linh hoạt void main() { // Date victoryDays[]= {{19,8,1945},{7,5,1954},{30,4,1975}}; Date saigonVictory= victoryDays[2]; Date *p=&saigonVictory; (*p).year += 30; // good p->year -=30; // better Student studentList[45]; for (int i=0; i < 45; ++i) { studentList[i].id_number= i; studentList[i].birthday=yourBirthday; } Student* pList = studentList; while (pList < studentList+45) { pList->id_number += 4800; ++pList; } } . SƠN Chương 2: C c yếutố c bảncủaC v C+ + Mảng, con trỏ và c utr c  Kếthợpmảng, con trỏ và c utrúcchophépxâydựng và sử dụng c c c utrúcdữ liệuphứctạpmộtcáchrất linh hoạt void main() { // Date victoryDays[]=. SƠN Chương 2: C c yếutố c bảncủaC v C+ + 2.4.1 C utr c( struct)  Định nghĩacấutr c( bêntrongho c ngoài c c hàm) C c biến thành viên, khai báo ₫ộclập ho c chung kiểu C c biến thành viên c thể c ng. rộng trong C+ +  Hợpnhất(union): Mộttênkiểu chung cho nhiềudữ liệu kh c nhau (chiếmcùngchỗ trong bộ nhớ). Ít thông dụng trong c C và C+ +  Lớp(class): Chỉ c trong C+ +, mở rộng struct c thêm những

Ngày đăng: 31/07/2014, 04:20

TỪ KHÓA LIÊN QUAN