kỹ thuật lập trình C chuyên nghiệp phần 7
Số trang: 14
Loại file: pdf
Dung lượng: 407.26 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu kỹ thuật lập trình c chuyên nghiệp phần 7, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
kỹ thuật lập trình C chuyên nghiệp phần 7 Cấu trúc - Struct Struct Phạm Thế BảoTrường Đại học Khoa học Tự nhiên Tp.HCM Đạ Khoa nhiên Tp Ki Kiểu cấu trúcKháiKhái niệmKhaiKhai báoTruyTruy xuất các thành phầnCấu trúc & mảngConCon trỏ đến cấu trúc Khái Khái niệmCấu trúc là kiểu dữ liệu gồm một nhóm cácthành phần có kiểu không giống nhau, mỗi nhau,thành phần được xác định bằng một tên riêng hbiệt (kiểu dữ liệu trừu tượng – Abstract DataType – ADT).KiKiểu của mỗi thành phần trong cấu trúc là mộtkiếu đã được định nghĩa trước, kể cả mảng và c,các cấu trúc khác. khác.Cấu trúc – Khai báo trong C báMột kiểu cấu trúc được định nghĩa với từ khóa struct.typedef struct Tênkiểu{ Kiểuthànhphần Tênthànhphần; n; Kiểuthànhphần Tênthànhphần; n; Kiểuthànhphần Tênthànhphần; Kiểuthànhphần Tênthànhphần; n; ...};Cấu trúc – ví dụ typedef struct TBook typedef struct TDate { { char title[80]; char day; char author[80]; char month; float price; int year; char isbn[20]; }; };typedef struct TStudent{ char ID[10]; //khai báo các biến char firstname[10]; TBook book; char lastname[20]; TStudent list[100]; TDate dob; float marks[10];};Cấu trúc – Truy xuất các thành phần Cá Các thành phần của một biến kiểu cấu trúc được truy xuất h thông qua tên biến, dấu . và tên thành phần. n. void Print(TStudent m) { printf(Name : %s %s , %s %s m.firstname, m.lastname); printf(Student ID : %s , m.ID); printf(Date of birth : %hi/%hi/%i, of birth %hi/%hi/%i m.dob.day, m.dob.month, m.dob.year); printf(Marks : ); for (int i=0; iCấu trúc – Truy xuất các thành phầnvoid ReadInfo(TStudent &m){ printf(Type student ID: ); scanf(%s, m.ID); printf(Type first name: ); gets(m.firstname); printf(Type last name: ); gets(m.lastname); printf(Date of birth (d m y): ); of birth (d y): ); scanf(%hi %hi %i, &(m.dob.day), &(m.dob.month), &(m.dob.year)); printf(Marks (10 floats): ); (10 floats): ); for (int i=0; iKích thước của một cấu trúcKí th Kí Kích thước kiểu dữ liệu cấu trúc: c: sizeof() vd: SinhVien_t_size = sizeof(SinhVien); // 48 sizeof(SinhVien);Mảng các Cấu trúc Kh Khai bao biến mảng các Cấu trúc cũng giống như khai báo biến mảng trên các kiểu dữ liệu cơ bản khác. khác. Dùng Dùng tên mảng khi truy cập từng phần tử trong mảng các cấu trúc và toán tử thành viên để truy cập các trường dữ liệu của từng thành phần cấu trúc. struct SinhVien{ SinhVien mang[100]; char hoten[31]; … int namsinh; char char noisinh noisinh[4]; char maso[11]; mang[i].namsinh }Con trỏ đến Cấu trúc đế Kh bá Khai báo con trỏ đến cấu trúc tương tự như các kiểu dữ liệu khác. khác. SinhVien *SV_ptr Toán Toán tử truy cập trường thành phần của cấu trúc do con trỏ chỉ đến: -> n: SV_ptr- SV_ptr->namsinh SV_ptr->noisinh r-Union Kh bá Khai báo union được dùng để khai báo các biến dùng chung bộ nhớ. union union int_or_long { int i; long l; } a_number; a_number; Các Các thành phần của union có thể không có kích thước bằng nhau. Kích Kích thước bộ nhớ trong khai báo union là kích thước của union là kiểu dữ liệu lớn nhất có trong khai báo union.VíVí dụ union int_or_long {1. int i;2. long l;3. } a_number;4. a_number. a_number.i = 5;5. a_number.l = 100L;6. // anonymous union7. union {8. int i;9. float f;10. };11. i = 10; 10;12. f = 2.2;13.KiKiểu Enum (liệt kê) Ki Enum: Kiểu Enum: Li Liệt kê toàn bộ giá trị mà biến có thể nhận Khai báo: Khai báo: enum { u_enum>{ }; Ví Ví dụ: enum day{Hai, Ba, Tu, Nam, Sau, Bay, CN}; Ba ...
Nội dung trích xuất từ tài liệu:
kỹ thuật lập trình C chuyên nghiệp phần 7 Cấu trúc - Struct Struct Phạm Thế BảoTrường Đại học Khoa học Tự nhiên Tp.HCM Đạ Khoa nhiên Tp Ki Kiểu cấu trúcKháiKhái niệmKhaiKhai báoTruyTruy xuất các thành phầnCấu trúc & mảngConCon trỏ đến cấu trúc Khái Khái niệmCấu trúc là kiểu dữ liệu gồm một nhóm cácthành phần có kiểu không giống nhau, mỗi nhau,thành phần được xác định bằng một tên riêng hbiệt (kiểu dữ liệu trừu tượng – Abstract DataType – ADT).KiKiểu của mỗi thành phần trong cấu trúc là mộtkiếu đã được định nghĩa trước, kể cả mảng và c,các cấu trúc khác. khác.Cấu trúc – Khai báo trong C báMột kiểu cấu trúc được định nghĩa với từ khóa struct.typedef struct Tênkiểu{ Kiểuthànhphần Tênthànhphần; n; Kiểuthànhphần Tênthànhphần; n; Kiểuthànhphần Tênthànhphần; Kiểuthànhphần Tênthànhphần; n; ...};Cấu trúc – ví dụ typedef struct TBook typedef struct TDate { { char title[80]; char day; char author[80]; char month; float price; int year; char isbn[20]; }; };typedef struct TStudent{ char ID[10]; //khai báo các biến char firstname[10]; TBook book; char lastname[20]; TStudent list[100]; TDate dob; float marks[10];};Cấu trúc – Truy xuất các thành phần Cá Các thành phần của một biến kiểu cấu trúc được truy xuất h thông qua tên biến, dấu . và tên thành phần. n. void Print(TStudent m) { printf(Name : %s %s , %s %s m.firstname, m.lastname); printf(Student ID : %s , m.ID); printf(Date of birth : %hi/%hi/%i, of birth %hi/%hi/%i m.dob.day, m.dob.month, m.dob.year); printf(Marks : ); for (int i=0; iCấu trúc – Truy xuất các thành phầnvoid ReadInfo(TStudent &m){ printf(Type student ID: ); scanf(%s, m.ID); printf(Type first name: ); gets(m.firstname); printf(Type last name: ); gets(m.lastname); printf(Date of birth (d m y): ); of birth (d y): ); scanf(%hi %hi %i, &(m.dob.day), &(m.dob.month), &(m.dob.year)); printf(Marks (10 floats): ); (10 floats): ); for (int i=0; iKích thước của một cấu trúcKí th Kí Kích thước kiểu dữ liệu cấu trúc: c: sizeof() vd: SinhVien_t_size = sizeof(SinhVien); // 48 sizeof(SinhVien);Mảng các Cấu trúc Kh Khai bao biến mảng các Cấu trúc cũng giống như khai báo biến mảng trên các kiểu dữ liệu cơ bản khác. khác. Dùng Dùng tên mảng khi truy cập từng phần tử trong mảng các cấu trúc và toán tử thành viên để truy cập các trường dữ liệu của từng thành phần cấu trúc. struct SinhVien{ SinhVien mang[100]; char hoten[31]; … int namsinh; char char noisinh noisinh[4]; char maso[11]; mang[i].namsinh }Con trỏ đến Cấu trúc đế Kh bá Khai báo con trỏ đến cấu trúc tương tự như các kiểu dữ liệu khác. khác. SinhVien *SV_ptr Toán Toán tử truy cập trường thành phần của cấu trúc do con trỏ chỉ đến: -> n: SV_ptr- SV_ptr->namsinh SV_ptr->noisinh r-Union Kh bá Khai báo union được dùng để khai báo các biến dùng chung bộ nhớ. union union int_or_long { int i; long l; } a_number; a_number; Các Các thành phần của union có thể không có kích thước bằng nhau. Kích Kích thước bộ nhớ trong khai báo union là kích thước của union là kiểu dữ liệu lớn nhất có trong khai báo union.VíVí dụ union int_or_long {1. int i;2. long l;3. } a_number;4. a_number. a_number.i = 5;5. a_number.l = 100L;6. // anonymous union7. union {8. int i;9. float f;10. };11. i = 10; 10;12. f = 2.2;13.KiKiểu Enum (liệt kê) Ki Enum: Kiểu Enum: Li Liệt kê toàn bộ giá trị mà biến có thể nhận Khai báo: Khai báo: enum { u_enum>{ }; Ví Ví dụ: enum day{Hai, Ba, Tu, Nam, Sau, Bay, CN}; Ba ...
Tìm kiếm theo từ khóa liên quan:
ngôn ngữ lập trình C# tin học ứng dụng lập trình windows lập trình C# mẹo hay cho tin học thủ thuật windowsGợi ý tài liệu liên quan:
-
Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Lập trình game với ứng dụng Unity
16 trang 472 0 0 -
Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Xây dựng game 2D trên Unity
21 trang 345 1 0 -
Tài liệu bồi dưỡng giáo viên sử dụng SGK Tin học 10 Cánh diều (Định hướng Tin học ứng dụng)
61 trang 238 0 0 -
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 234 0 0 -
101 trang 199 1 0
-
15 trang 198 0 0
-
20 trang 183 0 0
-
Cách gỡ bỏ hoàn toàn các add on trên Firefox
7 trang 181 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 177 0 0 -
Giáo trình Mạng máy tính (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
189 trang 164 0 0