Con trỏ là 1 công cụ hiệu quả giúp tăng hiệu năng của công tác và thực tiễn nhiều trọng trách không thể triển khai được nếu không sử dụng con trỏ. Trong nội dung bài viết này chúng ta sẽ mày mò về bé trỏ trong ngữ điệu lập trình C qua việc thao tác làm việc với những ví dụ nỗ lực thể.

Bạn đang xem: Con trỏ trong c là gì

Con Trỏ Là Gì

Con trỏ được dùng làm trỏ tới tới địa chỉ cửa hàng trên bộ nhớ lưu trữ nơi được dùng để làm lưu trữ giá trị của biến. Một biến sau khoản thời gian khai báo nó sẽ sở hữu được 4 đặc tính như sau:

Tên biếnGiá trị bây giờ của biếnĐịa chỉ trên bộ nhớ nơi tàng trữ giá trị của biếnKiểu dữ liệu

Trong C lúc 1 biến được khai báo, máy tính xách tay sẽ dựa vào kiểu tài liệu để phân bố một lượng nhất định bộ lưu trữ để lưu trữ giá trị của trở thành này. Ví dụ khi bạn khai báo một biễn x như sau:

int x = 45;Ở trên thay đổi x được tư tưởng với kiểu tài liệu là integer và máy tính xách tay dành ra 4 bytes dung lượng bộ nhớ lưu trữ để lưu cực hiếm của biến.

*

Tham Chiếu cho tới Địa Chỉ cỗ Nhớ

Để tham chiếu tới địa chỉ cửa hàng bộ nhớ tàng trữ giá trị của phát triển thành trong chương trình bọn họ sử dụng toán tử &:

int x = 45;int* y = &x;Ở trên ngoài việc áp dụng toán tử và thì biến đổi y cũng được khai báo cùng với kiểu dữ liệu int*. Ký tự * làm việc phía trước nói rằng biến đổi y sẽ là một trong con trỏ và quý giá của biến này đang là một showroom bộ lưu giữ thay bởi giá trị của một phát triển thành bình thường.

Giả sử trở thành x được lưu tại đoạn thứ 928 trên bộ nhớ lưu trữ thì bọn họ sẽ có hình ảnh sau minh họa tình trạng của bộ lưu trữ sau khi lưu trữ giá trị các biến như sau:

*

Bạn xem xét ở trên giá trị của trở nên y là 928 đó cũng là showroom bộ nhớ lưu trữ giá trị của x. Mặc dù giá trị của đổi mới x là 44. Trong khi giá trị của biến đổi y được lưu trữ sử dụng showroom bộ lưu giữ từ địa điểm thứ 932 cho tới 935.

Để hiển thị cực hiếm của showroom bộ nhớ dùng tàng trữ biến x chúng ta sử dụng *y thay bởi vì y:

int x = 45;int *y = &x;printf("Địa chỉ bộ lưu trữ lưu trữ giá bán trị biến đổi x là %i", y);Với trả định là x được lưu bước đầu ở địa chỉ thứ 928 thì đoạn mã trên vẫn hiển thị:

Địa chỉ bộ nhớ lưu trữ giá chỉ trị biến đổi x là 928
Lưu ý: kết quả hiển thị của bạn sẽ có thể không giống ở bên trên tùy nằm trong vào vị trí bộ lưu trữ máy tính bạn sử dụng để lưu giá bán trị biến đổi x
Ở trên nếu bạn sử dụng *y thay vày y như sau:

printf("Địa chỉ bộ lưu trữ lưu trữ giá bán trị đổi thay x là %i", *y);Thì tác dụng hiển thị sẽ như sau:

Địa chỉ bộ nhớ lưu trữ lưu trữ giá chỉ trị biến x là 45Lúc này *y được gọi là tham chiếu ngược trở lại hay derefferencing quý hiếm của bé trỏ. Hay nói theo cách khác máy tính đã tìm lại địa chỉ cửa hàng của vùng bộ nhớ dùng để lưu thay đổi mà con trỏ trỏ tới và lấy ra giá trị của biến này.

Thay Đổi quý hiếm Của Biến

Bạn cũng rất có thể sử dụng con trỏ để chuyển đổi giá trị của biến. Ví dụ:

int x = 45;int *y = &x; *y = 92; printf("Giá trị của x là: %i", x);Khi chạy mã lệnh trên bạn sẽ thấy giá chỉ trị biến đổi x thay đổi thành 92. Điều này xẩy ra vì *y thời điểm nàyđược sử dụng để tham chiếu tới quý giá của biến chuyển x và khi *y chuyển đổi thì quý hiếm của x cũng ráng đổi.

Xem thêm: Giải Giới Là Gì ? Nghĩa Của Từ Giải Giới Trong Tiếng Việt Giải Giới Là Gì

Tuy nhiên, quý hiếm của add bộ nhớ quý hiếm của phát triển thành x vẫn được giữ nguyên là 928.