Bài giảng Lập trình hướng đối tượng trong C++ - Phạm Thị Quỳnh - Chương 3: Mảng và con trỏ

Mảng (Array)

Là một tập các vị trí nhớ liên tiếp nhau

Các phần tử trong mảng có cùng tên và cùng kiểu.

Truy nhập tới phần tử trong mảng

Xác định thông qua tên mảng và chỉ số: arrayname[ position number ]

Phần tử đầu tiên ở vị trí thứ 0

 

ppt29 trang | Chuyên mục: C/C++ | Chia sẻ: dkS00TYs | Lượt xem: 2065 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Lập trình hướng đối tượng trong C++ - Phạm Thị Quỳnh - Chương 3: Mảng và con trỏ, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
CHƯƠNG 3: Mảng và con trỏ 1. Mảng Mảng (Array) Là một tập các vị trí nhớ liên tiếp nhau Các phần tử trong mảng có cùng tên và cùng kiểu. Truy nhập tới phần tử trong mảng Xác định thông qua tên mảng và chỉ số: arrayname[ position number ] Phần tử đầu tiên ở vị trí thứ 0 Khai báo mảng type arrayName[ arraySize ]; int c[ 10 ]; // mảng c gồm 10 số nguyên float d[ 3284 ]; // mảng d gồm 3284 số thực Có thể khai báo nhiều mảng cùng kiểu int b[ 100 ], x[ 27 ]; Khởi tạo mảng Sử dụng vòng lặp for: gán giá trị cho từng phần tử trong mảng. Sử dụng danh sách khởi tạo: int n[ 5 ] = { 1, 2, 3, 4, 5 }; Nếu không đủ giá trị khởi tạo thì những phần tử còn lại sẽ nhận giá trị mặc định. Nếu giá trị khởi tạo nhiều hơn kích thước mảng thì sẽ báo lỗi. Gán tất cả các phần tử với cùng một giá trị int n[ 5 ] = { 0 }; Nếu kích thước mảng không được khai báo thì danh sách khởi tạo sẽ xác định: int n[] = { 1, 2, 3, 4, 5 }; //Mảng n có 5 phần tử Tham số mảng Tham số mảng được biểu diễn bởi kiểu dữ liệu và kích thước của mảng 	void display(float [n][m]); Hàm có thể không cần biết kích thước của mảng nhưng phải biết kích thước của một phần tử trong mảng 	void myFunction(int n[]); 	void display(float [][m]); Khi gọi hàm, ta chỉ cần truyền tên mảng int myArray[ 24 ]; myFunction( myArray); Mảng được truyền theo kiểu truyền tham chiếu Hàm có thể chỉnh sửa dữ liệu của các phần tử trong mảng Tên mảng là địa chỉ của phần tử đầu tiên Ví dụ về tham số mảng #include using namespace std; void printarray (int arg[], int length) { 	for (int n=0; n> Hàm getline(cin, string str): lưu thông tin từ luồng vào chuẩn đưa vào str. Ví dụ: string full_name; cout using namespace std; int main () { 	int numbers[5]; 	int * p; 	p = numbers; *p = 10; 	p++; *p = 20; 	p = &numbers[2]; *p = 30; 	p = numbers + 3; *p = 40; 	p = numbers; *(p+4) = 50; 	for (int n=0; n *(ptr+k)) swap(ptr+j,ptr+k); } double array[6] = { 2.3, 4.5, 1.2, 6.8, 0.8, 4.9 }; bsort(array,n); Phép toán học trên con trỏ Phân biệt các phép toán trên biến con trỏ và biến thông thường. char *mychar; short *myshort; long *mylong; mychar++; myshort++; mylong++; Con trỏ trỏ đến con trỏ char a; char * b; char ** c; a = 'z'; b = &a; c = &b; Con trỏ void Con trỏ void có thể lưu địa chỉ của biến có kiểu dữ liệu bất kỳ. #include using namespace std; void increase (void* data, int psize) { 	if ( psize == sizeof(char) ) 	{ char* pchar; pchar=(char*)data; ++(*pchar); } 	else if (psize == sizeof(int) ) 	{ int* pint; pint=(int*)data; ++(*pint); } } int main () { 	char a = 'x'; 	int b = 1602; 	increase (&a,sizeof(a)); 	increase (&b,sizeof(b)); 	cout using namespace std; int addition (int a, int b) { return (a+b); } int subtraction (int a, int b) { return (a-b); } int operation (int x, int y, int *functocall)(int,int)) { 	int g; 	g = (*functocall)(x,y); 	return (g); } int main () { 	int m,n; 	int (*minus)(int,int) = subtraction; 	m = operation (7, 5, addition); 	n = operation (20, m, minus); 	cout using namespace std; int main () { 	int i,n; int * p; 	cout > i; 	p= new int[i]; 	if (p == 0) 	cout > p[n]; 	} 	cout << "You have entered: "; 	for (n=0; n<i; n++) 	cout << p[n] << ", "; 	delete[] p; 	} 	return 0; } 

File đính kèm:

  • pptBài giảng Lập trình hướng đối tượng trong C++ - Phạm Thị Quỳnh - Chương 3 Mảng và con trỏ.ppt