1. Trang chủ
  2. » Kỹ Năng Mềm

Bài giảng Tin học đại cương - Bài 4: Con trỏ và mảng

10 10 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 10
Dung lượng 2,26 MB

Nội dung

Chương trình dịch sẽ cấp phát cho biến đó một số ô nhớ liên. tiếp đủ để chứa nội dung của biến[r]

(1)

TIN HỌC ĐẠI CƯƠNG

TIN HỌC ĐẠI CƯƠNG

PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C

BÀI 4:

BÀI 4: CON TRỎ VÀ MẢNGCON TRỎ VÀ MẢNG

VI N  VI N 

CÔNG NGH  

CÔNG NGH  

THÔNG TIN

THÔNG TIN

SCHOOL  OF  SCHOOL  OF 

(2)

4

4.1 .1 Con trỏ địa chỉCon trỏ địa chỉ

 4.1.1 Tổng quan trỏ4.1.1 Tổng quan trỏ

 4.1.2 Các phép toán làm việc với trỏ4.1.2 Các phép toán làm việc với trỏ

4.2 Mảng

4.2 Mảng

 4.2.1 Khái niệm mảng4.2.1 Khái niệm mảng

 4.2.2 Khai báo sử dụng mảng4.2.2 Khai báo sử dụng mảng

 4.2.3 Các thao tác làm việc mảng4.2.3 Các thao tác làm việc mảng

4.3 Sử dụng trỏ làm việc với mảng

(3)

4.1.1 Tổng quan trỏ a Địa giá trị biến

a Địa giá trị biến

 Bộ nhớ dãy byte nhớ.Bộ nhớ dãy byte nhớ

 Các byte nhớ xác định cách qua Các byte nhớ xác định cách qua

một địa chỉđịa chỉ

 Biến lưu nhớ.Biến lưu nhớ  Khi khai báo biếnKhi khai báo biến

Chương trình dịch cấp phát cho biến số nhớ liên

Chương trình dịch cấp phát cho biến số nhớ liên

tiếp đủ để chứa nội dung biến Ví dụ biến số nguyên

tiếp đủ để chứa nội dung biến Ví dụ biến số nguyên

(int) cấp phát byte

(int) cấp phát byte

Địa biến địa byte

Địa biến địa byte

số

(4)

 Một biến ln có hai đặc tính:Một biến ln có hai đặc tính:

Địa biến

Địa biến

Giá trị biến

Giá trị biến

 Ví dụ:Ví dụ:

int i, j; int i, j; i = 3;

i = 3;

j = i + 1; j = i + 1;

Biến Địa Giá trị

i FFEC 3

(5)

4.1.1

4.1.1 Tổng quan trỏTổng quan trỏ b Khái niệm khai báo trỏ

b Khái niệm khai báo trỏ

 Con trỏ biến mà giá trị địa Con trỏ biến mà giá trị địa vùng nhớ

một vùng nhớ

 Khai báo trỏ:Khai báo trỏ:

Cú pháp khai báo trỏ sau:

Cú pháp khai báo trỏ sau:

Kieu_du_lieu *ten_bien_con_tro;

Kieu_du_lieu *ten_bien_con_tro;

 Ví dụVí dụ

int i = 3; int i = 3; int *p;

int *p; p = &i; p = &i;

p a

Bi nế Đ a ch Giá tr

i FFEC

(6)

 Toán tử Toán tử &&: Trả địa biến.: Trả địa biến

 Toán tử Toán tử **: Trả giá trị chứa vùng nhớ : Trả giá trị chứa vùng nhớ trỏ giá trị biến trỏ

trỏ giá trị biến trỏ

 Cả hai toán tử * & có độ ưu tiên cao tất Cả hai tốn tử * & có độ ưu tiên cao tất toán tử số học ngoại trừ toán tử đảo dấu

toán tử số học ngoại trừ tốn tử đảo dấu

 Ví dụ:Ví dụ:

void main() void main()

{ {

int i = 3; int *p;int i = 3; int *p;

p = &i;p = &i;

printf("*p = %d \n",*p);printf("*p = %d \n",*p);

(7)

4.1.1

4.1.1 Tổng quan trỏTổng quan trỏ

c Sử dụng biến trỏ:

c Sử dụng biến trỏ:

 Một biến trỏ gán bởi:Một biến trỏ gán bởi:

Địa biến khác:

Địa biến khác:

ten_bien_con_tro = &ten_bien;ten_bien_con_tro = &ten_bien;

Giá trị trỏ khác (tốt kiểu):

Giá trị trỏ khác (tốt kiểu):  ten_bien_con_tro2 = ten_bien_con_tro1;ten_bien_con_tro2 = ten_bien_con_tro1;

Giá trị NULL (số 0):

Giá trị NULL (số 0):

ten_bien_con_tro = 0;ten_bien_con_tro = 0;

(8)

main()

main()

{

{

int i = 3, j = 6;int i = 3, j = 6;

int *p1, *p2;int *p1, *p2;

p1 = &i;p1 = &i;

p2 = &j;p2 = &j;

*p1 = *p2;*p1 = *p2; }

(9)

4.1.1

4.1.1 Tổng quan trỏTổng quan trỏ

Ví dụ 2: Ví dụ 2:

main()

main()

{

{

int i = 3, j = 6;int i = 3, j = 6;

int *p1, *p2;int *p1, *p2;

p1 = &i;p1 = &i;

p2 = &j;p2 = &j;

p1 = p2;p1 = p2; }

(10)

void *ten_bien_con_tro;void *ten_bien_con_tro;  Con trỏ đặc biệt, khơng có kiểu, Con trỏ đặc biệt, khơng có kiểu,

 Có thể nhận giá trị địa biến Có thể nhận giá trị địa biến

thuộc kiểu liệu

thuộc kiểu liệu

 Ví dụ:Ví dụ:

void *p, *q;

void *p, *q;

int x = 21;

int x = 21;

float y = 34.34;

float y = 34.34;

p = &x; q = &y;

Ngày đăng: 09/03/2021, 07:02

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

TÀI LIỆU LIÊN QUAN

w