Saturday, July 18, 2020

Con trỏ trong lập trình C

Trong hướng dẫn này, bạn sẽ tìm hiểu về con trỏ; con trỏ là gì, bạn sử dụng chúng như thế nào và những lỗi phổ biến bạn có thể gặp phải khi làm việc với chúng với sự trợ giúp của các ví dụ.
Con trỏ là các tính năng mạnh mẽ của lập trình C và C ++. Trước khi chúng ta học con trỏ, hãy tìm hiểu về các địa chỉ trong lập trình C.
Con trỏ trong lập trình C

Địa chỉ trong C

Nếu bạn có một biến var trong chương trình của mình, & var sẽ cung cấp cho bạn địa chỉ của nó trong bộ nhớ.
Chúng tôi đã sử dụng địa chỉ nhiều lần trong khi sử dụng hàm scanf ().
scanf("%d", &var);
Ở đây, giá trị được nhập bởi người dùng được lưu trữ trong địa chỉ của biến var. Hãy lấy một ví dụ làm việc.
#include <stdio.h>
int main()
{
  int var = 5;
  printf("var: %d\n", var);
  // Lưu ý việc sử dụng & trước var
  printf("address of var: %p", &var);
  return 0;
}
kết quả:
var: 5
address of var: 2686778

Con trỏ C

Con trỏ (biến con trỏ) là các biến đặc biệt được sử dụng để lưu trữ địa chỉ thay vì giá trị.
Cú pháp con trỏ
Đây là cách chúng ta có thể khai báo con trỏ.
int * p;
Ở đây, chúng tôi đã khai báo một con trỏ p thuộc kiểu int.
Bạn cũng có thể khai báo con trỏ theo những cách này.
int *p1;
int * p2;
Hãy lấy một ví dụ khác về khai báo con trỏ.
int* p1, p2;
Gán địa chỉ cho con trỏ
int* pc, c;
c = 5;
pc = &c;
Nhận giá trị của điều được chỉ bởi con trỏ
Để lấy giá trị của vật được trỏ bởi con trỏ, chúng ta sử dụng toán tử *. Ví dụ:
int* pc, c;
c = 5;
pc = &c;
printf("%d", *pc);   // Output: 5
Thay đổi giá trị được trỏ bởi con trỏ
int* pc, c;
c = 5;
pc = &c;
c = 1;
printf("%d", c);    // Output: 1
printf("%d", *pc);  // Ouptut: 1
Bài trước: Struct trong C 

No comments:

Post a Comment