Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

BẢN BÁO CÁO VỀ CON TRỎ HÀM docx
MIỄN PHÍ
Số trang
2
Kích thước
75.1 KB
Định dạng
PDF
Lượt xem
1992

BẢN BÁO CÁO VỀ CON TRỎ HÀM docx

Nội dung xem thử

Mô tả chi tiết

BẢN BÁO CÁO VỀ CON TRỎ HÀM

MSSV:1012055

Function Pointer là gì?

Một chương trình đang chạy luôn chiếm một không gian bộ nhớ xác định trong bộ nhớ

chính. Cả đoạn chương trình thực thi đã được dịch từ mã mà bạn viết cùng các biến được sử

dụng đều được đưa vào trong không gian bộ nhớ này. Vì vậy hàm cũng có địa chỉ.

Con trỏ hảm là con trỏ trỏ đến địa chỉ của hàm và có thể gọi hàm thông qua địa chỉ đó.

1. Khai báo:

Vì con trỏ hàm cũng là một biến nên ta khai báo theo cách thông thường:

a. Khai báo trực tiếp:

<Kiểu dữ liệu trả về> (*<tên con trỏ hàm>)<danh sách đối số>;

Ví dụ:

int (*cong)(int a, int b);

float (*giaithua((float a);

Note: không trả về void.

Void (*??)(int a,float b);

b. Khai báo gián tiếp:

typedef <Kiểu dữ liệu trả về> (*<tên con trỏ hàm>)<danh sách đối số>;

Ví dụ:

Typedef (*p)(int , int ); #khai báo kiểu “p” mới

P p1,p2; # khai báo p1,p2 là hai con trỏ hàm.

2. Gán giá trị cho con trỏ hàm:

Có 2 cách:

<tên biến con trỏ hàm> <tên hàm>; #trực tiếp.

<tên biến con trỏ hàm> &<tên hàm>; #thông qua địa chỉ.

Note: Hàm được gán phải có danh sách đối số tương ứng.

Ví dụ:

Int p1(int x,int y);

Int p2(int x,float y);

Typedef (*p)( int, int);

p=p1; #trực tiếp

p=&p1; #thông qua địa chỉ.

p=p2; #Sai

3. Gọi con trỏ hàm:

Có 2 cách:

<kiểu dữ liệu> <tên biến>= *<tên con trỏ hàm>;#thông thường

<kiểu dữ liệu> <tên biến>= <tên con trỏ hàm>;#ngắn gọn

Tải ngay đi em, còn do dự, trời tối mất!