Search…

Từ Khóa const với Con Trỏ

19/09/20201 min read
Tìm hiểu về const với con trỏ trong C++.

Con trỏ hằng

Con trỏ hằng là loại con trỏ có thể thay đổi được địa chỉ vùng nhớ mà nó lưu trữ, nhưng không thể thay đổi được giá trị của vùng nhớ thông qua con trỏ đó.

Cú pháp khai báo con trỏ hằng:

const <kiểu dữ liệu con trỏ> <tên con trỏ> = <địa chỉ>;

Có ví dụ sau:

int main()
{
	int x = 7;
	int y = 13;

	const int *p = &x;	// Con trỏ hằng

	*p = 100;			// Báo lỗi
	p = &y;				// Không báo lỗi

	return 0;
}

Hằng con trỏ

Ngược lại với con trỏ hằng, hằng con trỏ là loại con trỏ không thể thay đổi được địa chỉ vùng nhớ mà nó lưu trữ, nhưng vẫn có thể thay đổi được giá trị của vùng nhớ đó thông qua con trỏ đó.

Cú pháp khai báo hằng con trỏ

<kiểu dữ liệu con trỏ> const <tên con trỏ> = <địa chỉ>;

Có ví dụ như sau để minh họa:

int main()
{
	int x = 7;
	int y = 13;

	int *const p = &x;	// Hằng con trỏ

	*p = 100;			// Không báo lỗi
	p = &y;				// Báo lỗi

	return 0;
}

Mở rộng

Trong trường hợp muốn sử dụng một con trỏ vừa không thay đổi được địa chỉ vùng nhớ mà nó lưu trữ, vừa không thay đổi được giá trị của vùng nhớ đó, sử dụng hai từ khóa const như sau:

const <kiểu dữ liệu con trỏ> const <tên con trỏ> = <địa chỉ>;
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024