1. Trang chủ
  2. » Giáo án - Bài giảng

Slide bài giảng lập trình hướng đối tượng C++ (chương 5)

10 798 29
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Tiêu đề Mảng - Con trỏ - Tham chiếu
Trường học Đại Học Cần Thơ
Chuyên ngành Lập trình hướng đối tượng C++
Thể loại Slide bài giảng
Thành phố Cần Thơ
Định dạng
Số trang 10
Dung lượng 98 KB

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

Nội dung

a Chuong 5 Mang, Con Tré, Tham Chiều # Muc tiéu Giới thiệu các cách sử dụng mang, con tro, va tham chiêu = Noi dung Mang một chiêu, nhiêu chiêu, bộ nhớ tĩnh Con trỏ, tính toán con t

Trang 1

CHUONG 5:

MANG - CON TRO -

THAM CHIEU

Khoa Công Nghệ Thông Tin & Truyền Thông

Đại Học Cần Thơ

Trang 2

a Chuong 5

Mang, Con Tré, Tham Chiều

# Muc tiéu

Giới thiệu các cách sử dụng mang, con tro, va

tham chiêu

= Noi dung

Mang một chiêu, nhiêu chiêu, bộ nhớ tĩnh

Con trỏ, tính toán con trỏ, bộ nhớ động

Con trỏ hàm, tham chiêu

Trang 3

"

>

Mang

= Mang (array)

Gom mot tap cac đôi tượng cùng kiêu và được sắp xếp liên tiễp trong bộ nhớ

Mỗi phân tử mang được xác định bởi một chỉ

số biểu thị vị trí của phân tử trong mang

= Phan tử đầu tiên của mảng luôn có chỉ sé 0

Số lượng phân tử trong mảng được gọi là kích

thước của mảng (cô định; xác định trước)

Gôm mảng một chiêu và mảng đa chiêu

Trang 4

"

ak >

Bien Mang

#8 Được định nghĩa bằng cách đặc tả kích thước mảng và kiêu các phân tử của nó

Vi du: int heights[1 0];

= Truy xuat 1 phan tte qua chi s6 mang

Vi du: heights[O]= 210; cout<< heights[3];

= Truy xuat phan tử không tôn tại > lỗi

Vượt ngoài biên

Vi du: cout<<heights[-1]; cout<<heights[1 0];

Trang 5

a Chuong 5

Bo Khoi Tao Mang

# Mỗi mảng có một bộ khởi tạo mảng

ï Vị dụ

int nums[3] = {5, 10, 15}; ¡Bộ khởi tạo mảng,

— thước

int nums[3] = (5, 10): int nums[ ] = (5, 10, 18): mảng ?

# Chuỗi là một mảng ký tự

# Ví dụ: so sánh sự khác nhau của

char str[] = "HELLO"; va char str[] = {'H’, 'E’, 'L’, 'L’, ‘O'};

Trang 6

a

Mảng Đa Chiêu

Mùa đông

Mùa hè Mùa thu

seasonTemp[3][4];

sydney Áo A ,

7 / ⁄“ tệ int

L

J

Melbourne 24 /3^À / Tê /

#

" ` 7 X 7 h ra

1 ! \ \

] { >< x 7 > if a 7 1 x

i A ; ` \/ ` I N

Ị NT / \ NI ` 1 `

i i \ sy \ , Ny \ sv! N

1 / ` ơn \ ⁄ Sat 1 `

I i \ S⁄ sy I ` `

I i ` >>» \ ` I ` `

| h 4 “oi 1 NSN I an `

i / ! aN / v\ \ XS SJ NG “> ` NY ` `

! ! / ` / \ ` XS ` `

I / 7 \ / \ VN l Ny ` `

i ! / ` /ự \ 1 ae I ` ` `

i ! ⁄ ` \ \ NÓI se ` \

I / / / ` \ \ hay » » SN

hang hai hang ba

Cách tổ chức trong bộ nhớ

hang dau

Trang 7

a Chuong 5

Con Tro

# Con trỏ đơn giản chỉ là địa chỉ của một VỊ

trí bộ nhớ và cung cấp cách gián tiêp để

truy xuât dữ liệu trong bộ nhớ

it num = 10; num|L_ 10 1000

int *ptr1 = &num:; an

_ptr1 [1000 ] 2000

cout << *ptr1;

Trang 8

a Chuong 5

Bộ Nhớ Động - Tĩnh

= Bo nho dong (heap)

Vùng nhớ được cấp phát động trong thời gian thực thi

" BỘ nhớ tính (stack)

Vùng nhớ được sử dụng để lưu trữ các biên toàn cục

và lời gọi hàm

# Hai toán tử được sử dụng

char *str = new char[10];

HM

delete ptr;

delete [ |str;

Trang 9

a Chuong 5

Tham Chiéu

= Mét tham chiéu (reference) la mét biét

hiéu (alias) cho một đôi tượng

# Vị dụ

double &num2 = num1; num2

" Chi chú

Một tham chiêu phải luôn được khởi tạo khi

nó được định nghĩa

Có thê khởi tạo tham chiêu tới một hằng

Trang 10

Truyền Bằng Trị - Con Tro -

Tham Chiều

13

14

15

16

17

18

// Truyén bang trị (đối tượng)

void Swapl (int x, int y)

{ int temp = x;

X = Vr

y = temp;

}

// Truyền băng địa chỉ (con trỏ)

void Swap2 (int *x, int *y)

{

int temp = *x;

* YY = XV;

*y = temp;

} // Truyền bằng tham chiếu

void Swap3 (int &x, int &y)

int temp = x;

X = Vr

y = temp;

int main (void)

{

int i = 10, j = 20;

Swapt1(i, J); cout <<i <<", " <<j<<‘\n'; Swap2(&i, &j); cout << i <<", " <<j << n; Swap3(i, J); cout <<i <<", " <<j<<'‘\n';

10

Ngày đăng: 29/05/2013, 23:19

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w