Mảng con trỏ:

Một phần của tài liệu Tài liệu và câu hỏi ôn tập C++ (Trang 94 - 96)

Mảng con trỏ là một mảng mà mỗi phần tử của nó là một con trỏ, có thể chứa được một địa chỉ của một biến nào đó. Mỗi phần tử của một mảng con trỏ kiểu int sẽ chứa được một địa chỉ kiểu int. Tương tự cho các mảng con trỏ của các kiểu khác.

Mảng con trỏ được khai báo theo mẫu:

<Kiểu dữ liệu> *<Tên_mảng_con_trỏ>[N];

Trong đó <Kiểu dữ liệu> có thể là int, float, double, char ... còn <Tên_mảng_con_trỏ> là tên của mảng, N là một hằng số nguyên xác định độ lớn của mảng.

Khi gặp khai báo trên, máy sẽ cấp phát N khoảng nhớ liên tiếp cho N phần tử của mảng. Ví dụ: double *pa[100]; Khai báo một mảng con trỏ kiểu double gồm 100 phần tử. Mỗi phần tử pa[i] có thể dùng để lưu trữ một địa chỉ kiểu double.

Chú ý :

Bản thân các mảng con trỏ không dùng để lưu trữ số liệu. Tuy nhiên mảng con trỏ cho phép sử dụng các mảng khác để lưu trữ số liệu một cách có hiệu quả hơn theo cách: chia mảng thành các phần và ghi nhớ địa chỉ đầu của mỗi phần vào một phần tử của mảng con trỏ.

mảng. Các phần tử của mảng con trỏ kiểu char có thể được khởi đầu bằng các xâu ký tự.

Ví dụ: Xét một tổ lao động có 10 người, mã của mỗi người chính là số thứ tự. Ta lập một hàm để khi biết mã số của nhân viên thì xác định được họ tên của nhân viên đó.

#include "stdio.h" #include "ctype.h" void tim(int code); main()

{

int i;

tt:printf("\n Tim nguoi co so TT la:"); scanf("%d",&i);

tim(i);

printf("Co tiep tuc nua khong C/K: '); if (toupper(getch())='C')

goto tt; }

void tim(int code); {

"Khong co so thu tu nay " " Nguyen Van Toan"

"Huynh Tuan Nghia" "Le Hong Son"

"Tran Quang Tung" "Chu Thanh Tu" "Mac Thi Nga" "Hoang Hung" "Pham Trong Ha" "Vu Trung Duc" "Mai Trong Quat" };

printf("\n\n Ma so: %d",code); printf(": %s",());

}

Một phần của tài liệu Tài liệu và câu hỏi ôn tập C++ (Trang 94 - 96)