1. Trang chủ
  2. » Luận Văn - Báo Cáo

KỸ THUẬT lập TRÌNH hệ cơ điện tử

30 5 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kỹ Thuật Lập Trình Hệ Cơ Điện Tử
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Lập Trình Hệ Cơ Điện Tử
Thể loại Giáo trình
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 539,54 KB

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

Nội dung

Cấu trúc trong C++ • Một ấu trúc dữ liệu là ột tập hợp ủa hữ g kiểu dữ liệu khác nhau đượ gộp lại với ột cái tên duy hất... • Trong đó model_name là tên ủa ẫu kiểu dữ liệu và tham số tù

Trang 1

KỸ THU T L P TRÌNH H C ĐI N TỬ Programming Engineering in Mechatronics

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

UNIVERSITY OF SCIENCE AND TECHNOLOGY

1

Trang 2

Chapter 7 The structure in C++

1 C sở cấu trúc trong C++

CHƯ NG 7 Cấu trúc trong C++

• Một ấu trúc dữ liệu là ột tập hợp ủa hữ g kiểu dữ liệu

khác nhau đượ gộp lại với ột cái tên duy hất Dạ g thứ

ủa nó hư sau:

1.1 Các cấu trúc dữ li u trong C++

struct model_name {

type1 element1 ; type2 element2 ;

type3 element3 ; …

Trang 3

• Trong đó model_name là tên ủa ẫu kiểu dữ liệu và tham số

tùy họ object_name ột tên hợp lệ cho đối tượ g Bêntrong ặp goặ họ là tên các phầ tử ủa ấu trúc và kiểu

ủa chúng

số model_name tuỳ họ , tham số này t ở thành ột tênkiểu hợp lệ tươ g đươ g với ấu trúc Ví dụ:

struct products {char name [30];

float price;

} ;products apple;

products orange, melon;

Trang 4

• Chúng ta đ đị h ghĩa ấu trúc products với hai

t ườ g: name và price, ỗi t ườ g có ột kiểu khác nhau.Chúng ta ũ g đ sử dụ g tên ủa kiểu ấu trúc (products) đểkhai báo ba đối tượ g có kiểu đó : apple, orange và melon

• Sau khi đượ khai báo, products t ở thành ột tên kiểu hợp lệgiố g các kiểu ơ ả hư int, char hay short

• T ườ g tuỳ họ object_name có thể ằ ở uối ủa phầ khai

báo ấu trúc dùng để khai báo t ự tiếp đối tượ g có kiểu ấutrúc Ví dụ, để khai báo các đối tượ g apple, orange vàmelon hư đ làm ở phầ t ướ chúng ta ũ g có thể làm theocách sau:

Trang 5

struct products {char name [30];

float price;

} apple, orange, melon;

thành tuỳ họ Mặ dù ếu model_name không đượ sử dụ gthì chúng ta sẽ không thể khai báo thêm các đối tượ g có kiểu

ẫu này

1.2 Kiểu m u cấu trúc

• Một điều quan t ọ g là ầ phân iệt rõ ràng đ u là kiểu

ẫu ấu trúc, đ u là đối tượ g ấu trúc Nếu dùng các thuật

gữ chúng ta đ sử dụ g với các iế , kiểu ẫu là tên kiểu dữliệu còn đối tượ g là các iế

Trang 6

• Sau khi đ khai báo ba đối tượ g có kiểu là ột ẫu ấu trúcxác đị h (apple, orange and melon) chúng ta có thể thao tácvới các t ườ g tạo nên chúng Để làm việ này chúng ta sử

dụ g ột dấu hấ (.) chèn ở giữa tên đối tượ g và tên

t ườ g Ví dụ, chúng ta có thể thao tác với ất kì phầ tử nào

ủa ấu trúc hư là đối với các iế huẩ :

• apple.nameapple.priceorange.nameorange.pricemelon.namemelon.price

ứ g: apple.name, orange.namemelon.name cókiểu char[30], và apple.price,orange.price và melon.price cókiểu float

Trang 7

• Ví dụ:

Trang 8

Kết uả:

Enter title: AlienEnter year: 1979 My favourite movie is: 2001 A Space Odyssey (1968)And yours: Alien (1979)

• Ví dụ này:

- Cho chúng ta thấy cách sử dụ g các phầ tử ủa ột ấu

dụ,yours.year là ột iế hợp lệ có kiểu int ũ g

mine.title là ột ả g hợp lệ với 50 phầ tử kiểu chars

- Chú ý ằ g ả mine and yours đều đượ coi là các iếhợp lệ kiểu movie_t khi đượ t uyề cho hàm printmovie().

ữa ột lợi thế quan t ọ g ủa ấu trúc là chúng ta có thể xét cácphầ tử ủa chúng ột cách riêng iệt hoặ toàn ộ ấu trúc hư

ột khối

Trang 9

• Các ấu trúc đượ sử dụ g ất hiều để xây dự g ơ sở dữ liệu

đặ iệt ếu chúng ta xét đế khả ă g xây dự g các ả g

ủa chúng

Trang 10

Kết uả:

Enter title: AlienEnter year: 1979Enter title: Blade RunnerEnter year: 1982Enter title: MatrixEnter year: 1999Enter title: Rear

WindowEnter year: 1954Enter title: Taxi DriverEnter

year: 1975 You have entered these movies:Alien (1979)Blade Runner (1982)Matrix (1999)Rear Window (1954)Taxi Driver

(1975)

2 Con trỏ trỏ đến cấu trúc

• Như ất kì các kiểu dữ liệu nào khác, các ấu trúc có thể đượ

t ỏ đế ởi con t ỏ Quy tắ hoàn toàn giố g hư đối với ất kìkiểu dữ liệu ơ ả nào:

Trang 11

• Ở đ y amovie là ột đối tượ g có kiểu movies_t và pmovie

ột con t ỏ t ỏ tới đối tượ g movies_t OK, bây giờ chúng ta

sẽ đế với ột ví dụ khác, nó sẽ giới thiệu ột toán tử ới:

Trang 13

Kết uả:

Enter title: MatrixEnter year: 1999 You have entered:Matrix

(1999)

• Đoạ mã trên giới thiệu ột điều quan t ọ g: toán tử ->. Đ y

là ột toán tử tham hiếu hỉ dùng để t ỏ tới các ấu trúc và

các lớp (class) Nó cho phép chúng ta không phải dùng goặ

ỗi khi tham hiếu đế ột phầ tử ủa ấu trúc Trong ví dụnày chúng ta sử dụ g:

movies->title

nó có thể đượ dị h thành:

(*movies).title

Trang 14

• Cả hai iểu thứ movies->title và (*movies).title đều hợp lệ vàchúng đều dùng để tham hiếu đế phầ tử title ủa ấu trúcđượ t ỏ ởi movies Bạ ầ phân iệt rõ ràng với:

*movies.title

ó tươ g đươ g với

*(movies.title)

• Lệ h này dùng để tính toán giá t ị đượ t ỏ ởi phầ

tử title ủa ấu trúc movies, trong t ườ g hợp này (title khôngphải là ột con t ỏ nó hẳ g có ý ghĩa gì hiều Bả dưới đ y

tổ g kết tất ả các kết hợp có thể đượ giữa con t ỏ và ấutrúc:

Trang 15

Các kết uả kết hợp giữa con t ỏ và ấu trúc

3 Các cấu trúc lồng nhau

• Các ấu trúc có thể đượ đặt lồ g nhau vì vậy ột phầ tử hợp

lệ ủa ột ấu trúc có thể là ột ấu trúc khác

Trang 16

friends_t * pfriends = &charlie;

• Vì vậy, sau phầ khai báo trên chúng ta có thể sử dụ g các iểuthứ sau:

Trang 17

charlie.namemaria.favourite_movie.titlecharlie.favourite_movie.yearpfriends->favourite_movie.year

t o g đó hai iểu thứ uối ù g là tươ g đươ g

này là hoàn toàn giố g với ngôn gữ C, tuy nhiên trong C++,

tính hất đặ t ư g là tất ả các phầ tử ủa nó đều là công

ộ g (public)

Ngày đăng: 07/09/2022, 11:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w