SlideShare a Scribd company logo
Khoa Công Nghệ Thông Tin & Truyền Thông Đại Học Cần Thơ MẢNG - CON TRỎ - THAM CHIẾU CHƯƠNG 5:
Mảng, Con Trỏ, Tham Chiếu Mục tiêu Giới thiệu các cách sử dụng mảng, con trỏ, và tham chiếu Nội dung Mảng 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 Chương 5
Mảng Mảng  (array) Gồm một tập các đố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ử mảng  được xác định bởi một  chỉ số  biểu thị vị trí của phần tử trong mảng Phần 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 Chương 5
Biến Mảng Đượ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ó   Ví dụ:  int heights[10]; Truy xuất 1 phần tử qua chỉ số mảng Ví dụ: heights[0]= 210;  cout<< heights[3]; Truy xuất phần tử không tồn tại    lỗi vượt ngoài biên Ví dụ: cout<<heights [-1];  cout<<heights[10]; Chương 5
Bộ Khởi Tạo Mảng Mỗi mảng có một  bộ khởi tạo mảng Ví dụ Chuỗi là một mảng ký tự Ví dụ: so sánh sự khác nhau của char str[] = &quot;HELLO&quot;;  và  char str[] = {'H', 'E', 'L', 'L', 'O'}; int nums[3] =  { 5, 10, 15 } ; Bộ khởi tạo mảng int nums[3] =  { 5, 10 } ; nums[2] =  ? int nums[ ] =  { 5, 10, 15 } ; Kích thước mảng  ?   Chương 5
Mảng Đa Chiều int  seasonTemp[3][4]; hàng đầu hàng hai hàng ba Chương 5 20 25 38 28 Brisbane 13 19 32 24 Melbourne 17 22 34 26 Sydney Mùa đông Mùa thu Mùa hè Mùa xuân Cách tổ chức trong bộ nhớ
Con Trỏ 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ớ Ví dụ  it num = 10; int  * ptr1 =  & num; cout <<  * ptr1; 10 num 1000 10 00 ptr1 2000 Chương 5
Bộ Nhớ Động - Tĩnh Bộ nhớ động (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 new : cấp phát delete : thu hồi void Foo (void) { int  *ptr =  new  int;  char  *str =  new  char[10]; //... delete   ptr;  delete   [ ]str;  } Chương 5
Tham Chiếu Một tham chiếu (reference) là một biệt hiệu (alias) cho một đối tượng.   Ví dụ Ghi 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   double  num1 = 3.14; double  & num2 = num1;   3.14 num1 1000 num2 Chương 5
Truyền Bằng Trị - Con Trỏ - Tham Chiếu int main (void) { int i = 10, j = 20; Swap1(i, j);  cout << i << &quot;, &quot; << j << '\n'; Swap2( & i,  & j); cout << i << &quot;, &quot; << j << '\n'; Swap3(i, j);  cout << i << &quot;, &quot; << j << '\n'; } ? Chương 5 //  Truyền bằng trị (đối tượng) void Swap1 (int x, int y) { int temp = x; x = y; y = temp; } //  Truyền bằng địa chỉ (con trỏ) void Swap2 (int *x, int *y) { int temp = *x; *x = *y; *y = temp; } //  Truyền bằng tham chiếu void Swap3 (int &x, int &y) { int temp = x; x = y; y = temp; } 1  2  3 4  5 6 7 8 9 10 11 12 13 14 15 16 17 18

More Related Content

PPT
Lesson05
PPT
Lesson05
PPT
Session 13
PPT
Pointer vn
PDF
Nmlt c11 con_trocoban_in
PDF
Tin học ứng dụng trong kinh doanh data4u
PPT
3 Function
PPTX
Slide pointer sepro
Lesson05
Lesson05
Session 13
Pointer vn
Nmlt c11 con_trocoban_in
Tin học ứng dụng trong kinh doanh data4u
3 Function
Slide pointer sepro

What's hot (14)

PDF
Ngon ngu c theo chuan ansi
PPT
Nmlt c02 gioi_thieunnltc
PDF
String c++
PDF
Chuong1 c
PPTX
GIAI TICH 12-Phần VIII-Bài toán thường gặp về đồ thị
PDF
chuỗi ký tự c++
PPT
Thdc3 Lap Trinh C
PPT
Nmlt c09 chuoi_kytu
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson08
PPT
Nmlt c01 cac_khainiemcobanvelaptrinh
PPT
Nmlt c12 quan_lybonho
PDF
Thu vien lap trinh c++
PPT
Nmlt c11 con_trocoban
PPT
Nmlt c11 con_trocoban-
Ngon ngu c theo chuan ansi
Nmlt c02 gioi_thieunnltc
String c++
Chuong1 c
GIAI TICH 12-Phần VIII-Bài toán thường gặp về đồ thị
chuỗi ký tự c++
Thdc3 Lap Trinh C
Nmlt c09 chuoi_kytu
Lap trinh huong_doi_tuong_cpp_dhct_lesson08
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c12 quan_lybonho
Thu vien lap trinh c++
Nmlt c11 con_trocoban
Nmlt c11 con_trocoban-
Ad

Viewers also liked (15)

PDF
T d que_lap_trinh_huong_doi_tuong
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson03
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson02
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson04
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson09
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson07
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson01
PDF
Gtrinh oop
DOC
Lập trình c++ có lời giải 2
PDF
Pplthdt c01 mot_sovandetronglaptrinh_v13.09a
PDF
Pplthdt c00 gioi_thieumonhoc_v13.09a
DOC
Lap trinh c++ có lời giải 1
DOC
Lap trinh c++ có lời giải 3
PDF
Bài tập mẫu C và C++ có giải
T d que_lap_trinh_huong_doi_tuong
Lap trinh huong_doi_tuong_cpp_dhct_lesson03
Lap trinh huong_doi_tuong_cpp_dhct_lesson02
Lap trinh huong_doi_tuong_cpp_dhct_lesson04
Lap trinh huong_doi_tuong_cpp_dhct_lesson09
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson07
Lap trinh huong_doi_tuong_cpp_dhct_lesson01
Gtrinh oop
Lập trình c++ có lời giải 2
Pplthdt c01 mot_sovandetronglaptrinh_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09a
Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 3
Bài tập mẫu C và C++ có giải
Ad

Similar to Lap trinh huong_doi_tuong_cpp_dhct_lesson05 (20)

PPT
Lesson05
PDF
Chuong 05
PPT
Session 11
PPT
Session 11
PPT
Session 13
PPT
4 Pointer String Struct
PDF
C23_Buoi1_BasicC_aewfdvccccccccccccc.pdf
PDF
Session 4
PDF
PPT
Phan2 chuong6 mang
PDF
Chuong 05 mang, con tro, tham chieu
PPT
Lesson08
PPTX
Bài 3_ Pointer.pptx - Phan Hoàng Trung HALA
DOC
Bai giangtrenlop
DOCX
Bài 3_ Pointer.docxfasssssssdsadsadsadsadsa
PPT
1 Gioi Thieu Chung
PDF
C10 generic algorithms
PDF
C10 generic algorithms
PPT
Nmlt C03 Cac Kieu Du Lieu Co So
PPT
Nhập môn lập trình - Vương Bá Thịnh
Lesson05
Chuong 05
Session 11
Session 11
Session 13
4 Pointer String Struct
C23_Buoi1_BasicC_aewfdvccccccccccccc.pdf
Session 4
Phan2 chuong6 mang
Chuong 05 mang, con tro, tham chieu
Lesson08
Bài 3_ Pointer.pptx - Phan Hoàng Trung HALA
Bai giangtrenlop
Bài 3_ Pointer.docxfasssssssdsadsadsadsadsa
1 Gioi Thieu Chung
C10 generic algorithms
C10 generic algorithms
Nmlt C03 Cac Kieu Du Lieu Co So
Nhập môn lập trình - Vương Bá Thịnh

Lap trinh huong_doi_tuong_cpp_dhct_lesson05

  • 1. Khoa Công Nghệ Thông Tin & Truyền Thông Đại Học Cần Thơ MẢNG - CON TRỎ - THAM CHIẾU CHƯƠNG 5:
  • 2. Mảng, Con Trỏ, Tham Chiếu Mục tiêu Giới thiệu các cách sử dụng mảng, con trỏ, và tham chiếu Nội dung Mảng 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 Chương 5
  • 3. Mảng Mảng (array) Gồm một tập các đố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ử mảng được xác định bởi một chỉ số biểu thị vị trí của phần tử trong mảng Phần 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 Chương 5
  • 4. Biến Mảng Đượ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ó Ví dụ: int heights[10]; Truy xuất 1 phần tử qua chỉ số mảng Ví dụ: heights[0]= 210; cout<< heights[3]; Truy xuất phần tử không tồn tại  lỗi vượt ngoài biên Ví dụ: cout<<heights [-1]; cout<<heights[10]; Chương 5
  • 5. Bộ Khởi Tạo Mảng Mỗi mảng có một bộ khởi tạo mảng Ví dụ Chuỗi là một mảng ký tự Ví dụ: so sánh sự khác nhau của char str[] = &quot;HELLO&quot;; và char str[] = {'H', 'E', 'L', 'L', 'O'}; int nums[3] = { 5, 10, 15 } ; Bộ khởi tạo mảng int nums[3] = { 5, 10 } ; nums[2] = ? int nums[ ] = { 5, 10, 15 } ; Kích thước mảng ? Chương 5
  • 6. Mảng Đa Chiều int seasonTemp[3][4]; hàng đầu hàng hai hàng ba Chương 5 20 25 38 28 Brisbane 13 19 32 24 Melbourne 17 22 34 26 Sydney Mùa đông Mùa thu Mùa hè Mùa xuân Cách tổ chức trong bộ nhớ
  • 7. Con Trỏ 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ớ Ví dụ it num = 10; int * ptr1 = & num; cout << * ptr1; 10 num 1000 10 00 ptr1 2000 Chương 5
  • 8. Bộ Nhớ Động - Tĩnh Bộ nhớ động (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 new : cấp phát delete : thu hồi void Foo (void) { int *ptr = new int; char *str = new char[10]; //... delete ptr; delete [ ]str; } Chương 5
  • 9. Tham Chiếu Một tham chiếu (reference) là một biệt hiệu (alias) cho một đối tượng. Ví dụ Ghi 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 double num1 = 3.14; double & num2 = num1; 3.14 num1 1000 num2 Chương 5
  • 10. Truyền Bằng Trị - Con Trỏ - Tham Chiếu int main (void) { int i = 10, j = 20; Swap1(i, j); cout << i << &quot;, &quot; << j << '\n'; Swap2( & i, & j); cout << i << &quot;, &quot; << j << '\n'; Swap3(i, j); cout << i << &quot;, &quot; << j << '\n'; } ? Chương 5 // Truyền bằng trị (đối tượng) void Swap1 (int x, int y) { int temp = x; x = y; y = temp; } // Truyền bằng địa chỉ (con trỏ) void Swap2 (int *x, int *y) { int temp = *x; *x = *y; *y = temp; } // Truyền bằng tham chiếu void Swap3 (int &x, int &y) { int temp = x; x = y; y = temp; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18