1. Trang chủ
  2. » Công Nghệ Thông Tin

Các yếu tố xây dựng nên C và C++ phần 5

7 8 0

Đ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 7
Dung lượng 289,94 KB

Nội dung

Con trỏ thực chất là một biến chứa ₫ịa chỉ của một ₫ối tượng có thể là một biến hoặc một hàm. int v = 2; int* p = &v; // p holds the address of v

2.3.2 Kiểu (const) ƒ Cho phép khai báo biến số, ₫ược gán giá trị cố ₫ịnh số ₫ược thay ₫ổi => khai báo số © 2004, HỒNG MINH SƠN void main() { const double pi = 3.1412; // initializing is OK! const int ci = 1; // initializing is OK! ci = 2; // error! ci = 1; // error, too! int i = ci; // const int is a subset of int const Color cc = Red; cc = Green; // error const double d; // potential error } Chương 2: Các yếu tố C C++ 29 2.3.3 Kiểu trỏ ƒ Con trỏ thực chất biến chứa ₫ịa ₫ối tượng biến hàm int v = 2; int* p = &v; // p holds the address of v Con trỏ p Vùng nhớ chứa biến CT 0x000127c3 © 2004, HỒNG MINH SƠN p: &v v: chứa ₫ịa biến v Chương 2: Các yếu tố C C++ 30 2.3.3 Kiểu trỏ © 2004, HỒNG MINH SƠN int i = 1; int* p = &i;// p holds the address of i *p = 2; // i = int j; p = &j; // now p holds the address of j *p = 3; // j = 3, i remains Chương 2: Các yếu tố C C++ 31 Ví dụ sử dụng kiểu trỏ © 2004, HỒNG MINH SƠN void main() { int i = 0; int* p = &i; int j = *p; *p = 2; p = &j; *p = 3; double d = i; p = &d; p = (*int)&d; // // // // // // // // // double* pd=0; // *pd = 0; // pd = &d; // double* pd2; // *pd2 = 0; // pd2 = &d; // p refers to the addesss of i j = now i = now p contains the addess of j now j = 3, i remains OK, int is compatible to double error, int* isn’t compatible to double* no compile error, but dangerous, meaningles type conversion! p contains the address no compile error, but fatal error OK p refers to an uncertain address fatal error OK, pd and pd2 refer to the same addr } Chương 2: Các yếu tố C C++ 32 Tóm tắt sơ trỏ ƒ Con trỏ biến chứa ₫ịa byte ₫ầu biến liệu, ₫ược sử dụng ₫ể truy cập gián tiếp liệu ₫ó ƒ Sau khai báo mà không khởi tạo, mặc ₫ịnh trỏ mang ₫ịa bất ₫ịnh ƒ Địa trỏ mang thay ₫ổi ₫ược => trỏ lúc ₫ại diện cho biến liệu khác ƒ Toán tử lấy ₫ịa biến (&) trả trỏ vào kiểu biến => thường gán cho biến trỏ © 2004, HỒNG MINH SƠN ƒ Toán tử truy nhập nội dung (*) áp dụng cho trỏ trả biến mà trỏ mang ₫ịa => ₫ọc thay ₫ổi giá trị biến ₫ó ƒ Khơng sử dụng toán tử truy nhập nội dung, trỏ chưa mang ₫ịa nhớ mà chương trình có quyền kiểm sốt Chương 2: Các yếu tố C C++ 33 2.3.4 Kiểu mảng Chỉ số N-1 ₫ịa ₫ầu ₫ịa cuối ₫ịa ₫ầu - ₫ịa cuối = N * kích cỡ phần tử © 2004, HỒNG MINH SƠN ƒ Cấu trúc liệu với: — — — — Số lượng phần tử cố ₫ịnh Các phần tử có kiểu Các phần tử ₫ược xếp nhớ Có thể truy nhập phần tử cách tự theo số theo ₫ịa Chương 2: Các yếu tố C C++ 34 Khai báo mảng ƒ Số phần tử mảng phải số nguyên (trong C phải trực kiện, C++ kiểu const ) ƒ Khai báo không khởi tạo: int enum double const int char a[3]; {index = 5}; b[index]; N = 2; c[N]; // C++ only © 2004, HOÀNG MINH SƠN ƒ Khai báo với số phần tử khởi tạo giá trị phần tử int double char d[3]= {1, 2, 3}; e[5]= {1, 2, 3}; f[4]= {0}; Chương 2: Các yếu tố C C++ 35 ... MINH SƠN ƒ C? ??u tr? ?c liệu với: — — — — Số lượng phần tử c? ?? ₫ịnh C? ?c phần tử c? ? kiểu C? ?c phần tử ₫ư? ?c xếp nhớ C? ? thể truy nhập phần tử c? ?ch tự theo số theo ₫ịa Chương 2: C? ?c yếu tố C C++ 34 Khai... nhập nội dung, trỏ chưa mang ₫ịa nhớ mà chương trình c? ? quyền kiểm soát Chương 2: C? ?c yếu tố C C++ 33 2.3.4 Kiểu mảng Chỉ số N-1 ₫ịa ₫ầu ₫ịa cuối ₫ịa ₫ầu - ₫ịa cuối = N * kích c? ?? phần tử © 2004,... 2004, HỒNG MINH SƠN ƒ Khai báo với số phần tử khởi tạo giá trị phần tử int double char d[3]= {1, 2, 3}; e [5] = {1, 2, 3}; f[4]= {0}; Chương 2: C? ?c yếu tố C C++ 35

Ngày đăng: 10/05/2021, 14:11