1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LẬP TRÌNH CĂN BẢN - KIỂU CẤU TRÚC pps

5 372 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 5
Dung lượng 206,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LẬP TRÌNH CĂN BẢN KIỂU CẤU TRÚC Nội dung chương này l Kiểu cấu trúc trong C l Các thao tác trên biến kiểu cấu trúc l Con trỏ và cấu trúc 3 Kiểu cấu trúc trong C l Khái niệm l Định nghĩa

Trang 1

LẬP TRÌNH CĂN BẢN

KIỂU CẤU TRÚC

Nội dung chương này

l Kiểu cấu trúc trong C

l Các thao tác trên biến kiểu cấu trúc

l Con trỏ và cấu trúc

3

Kiểu cấu trúc trong C

l Khái niệm

l Định nghĩa kiểu cấu trúc

l Khai báo biến cấu trúc

Khái niệm

l Kiểu cấu trúc (struct) là kiểu dữ liệu bao gồm nhiều thành phần có kiểu khác nhau, mỗi thành phần được gọi là một trường (field)

l Nó khác với kiểu mảng (nơi mà các phần tử có cùng kiểu)

l Ví dụ:

1 struct:

1 mảng:

Trang 2

Định nghĩa kiểu cấu trúc +

Khai báo biến cấu trúc (1)

l Cách 1:

struct SinhVien{

char MSSV[10];

char HoTen[40];

struct NgayThang NgaySinh;

int Phai;

char DiaChi[40];

};

Khaibáo bi ến:

struct NgayThang NgaySinh;

struct SinhVien SV;

struct <Tên cấu trúc> {

<Kiểu> <Trường 1>;

<Kiểu> <Trường 2>;

……

<Kiểu> <Trường n>;

} [biến 1, biến 2];

Ví d ụ:

struct NgayThang{

unsigned char Ngay;

unsigned char Thang;

unsigned int Nam;

};

struct <Tên cấu trúc> tên_biến;

Định nghĩa kiểu cấu trúc +

Khai báo biến cấu trúc (2)

l Chú ý:

l struct không tên:

l Tuy nhiên

A và B là các struct có 2 thành phần x và y

struct này không có tên , nên ngoài

A và B, ta không thể định nghĩa thêm các biến khác được.

A và B là các biến có kiểu struct point.

Sau này ta có thể khai báo thêm

7

Định nghĩa kiểu cấu trúc + Khai báo biến cấu trúc (3)

l Cách 2:

typedef struct{

char MSSV[10];

char HoTen[40];

NgayThang NgaySinh;

int Phai;

char DiaChi[40];

} SinhVien;

Khai báo bi ến:

NgayThang NgaySinh;

SinhVien SV;

typedef struct {

<Kiểu> <Trường 1> ;

<Kiểu> <Trường 2> ;

……

<Kiểu> <Trường n> ; } <Tên cấu trúc>;

Ví d ụ:

typedef struct{

unsigned char Ngay;

unsigned char Thang;

unsigned int Nam;

} NgayThang; <Tên cấu trúc> tên_biến;

Các thao tác trên biến kiểu cấu trúc

l Truy xuất đến từng trường của biến cấu trúc

l Khởi tạo cấu trúc

Trang 3

Truy xuất đến từng trường (field)

của biến cấu trúc (1)

l Cú pháp: <Biến cấu trúc>.<Tên trường>

l Ví dụ 1: Chương trình cho phép đọc dữ liệu từ bàn phím cho

biến mẩu tin SinhVien và in biến mẩu tin đó lên màn hình:

Truy xuất đến từng trường (field)

của biến cấu trúc (2)

11

Truy xuất đến từng trường (field) của biến cấu trúc (3)

l Kết quả của 1 lần nhập:

Truy xuất đến từng trường (field) của biến cấu trúc (4)

l Lưu ý:

l Các biến cấu trúc có thể gán cho nhau

l Ví dụ:

s=SV; // gán để lấy giá trị toàn bộ cấu trúc

l Ta không thể thực hiện được các thao tác sau đây cho biến cấu trúc:

l Sử dụng các hàm xuất nhập trên biến cấu trúc

l Các phép toán quan hệ, các phép toán số học và logic

Trang 4

Khởi tạo cấu trúc

l Biến cấu trúc có thể được khởi tạo giá trị ban

đầu lúc khai báo

l Ví dụ:

Con trỏ và cấu trúc

l Khai báo

l Sử dụng các con trỏ kiểu cấu trúc

l Truy cập các thành phần của cấu trúc đang được

quản lý bởi con trỏ

15

Khai báo (1)

l Cú pháp:

struct <Tên cấu trúc> * <Tên biến con trỏ>;

l Ví dụ 1:

struct NgayThang *p;

hoặc

NgayThang *p; // Nếu có dùng typedef

Khai báo (2)

l Ví dụ 2:

l Truy cập đến các trường:

l Nếu dùng con trỏ thì:

Trang 5

Sử dụng các con trỏ kiểu cấu trúc

l Có 2 cách:

l Phải cấp phát bộ nhớ cho nó

l Cho nó chỉ vào (chứa địa chỉ) biến đang tồn tại

l Ví dụ:

struct NgayThang *p;

p=(struct NgayThang *)malloc(sizeof( struct NgayThang));

p->Ngay=29; p->Thang=8; p->Nam=1986;

Ho ặc

struct NgayThang Ngay = {29,8,1986};

p = &Ngay;

Truy cập các thành phần của cấu trúc

đang được quản lý bởi con trỏ (1)

l Với khai báo sau:

l Ta có thể truy cập đến các trường của nó như sau:

p->Ngay p->Thang

ho ặc

(p*).Ngay (p*).Thang

19

Truy cập các thành phần của cấu trúc đang được quản lý bởi con trỏ (3)

l Ví dụ

Hết chương

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

TỪ KHÓA LIÊN QUAN

w