Khai báo biến kiểu con trỏ
Vì con trỏ có khả năng tham chiếu trực tiếp đến giá trị mà chúng trỏ tới nên cần
thiết phải chỉ rõ kiểu dữ liệu nào mà một biến con trỏ trỏ tới khai báo nó. Vì
vậy, khai báo của một biến con trỏ sẽ có mẫu sau:
type * pointer_name;
trong đó
type
là kiểu dữ liệu được trỏ tới, không phải là kiểu của bản thân con
trỏ. Ví dụ:
int * number;
char * character;
float * greatnumber;
đó là ba khai báo của con trỏ. Mỗi biến đầu trỏ tới một kiểu dữ liệu khác nhau
nhưng cả ba đều là con trỏ và chúng đều chiếm một lượng bộ nhớ như nhau
(kích thước của một biến con trỏ tùy thuộc vào hệ điều hành). nhưng dữ liệu mà
chúng trỏ tới không chiếm lượng bộ nhớ như nhau, một kiểu
int
, một kiểu
char
và cái còn lại kiểu
float
.
Tôi phải nhấn mạnh lại rằng dấu sao (
*
) mà chúng ta đặt khi khai báo một con
trỏ chỉ có nghĩa rằng: đó là một con trỏ và hoàn toàn không liên quan đến toán
tử tham chiếu mà chúng ta đã xem xét trước đó. Đó đơn giản chỉ là hai tác vụ
khác nhau được biểu diễn bởi cùng một dấu.
// my first pointer
#include <iostream.h>
int main ()
{
int value1 = 5, value2 = 15;
int * mypointer;