Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích khái niệm truy cập con trỏ trong ngôn ngữ C

Con trỏ là một biến lưu trữ địa chỉ của biến khác.

Khai báo, khởi tạo và truy cập con trỏ

Hãy xem xét tuyên bố sau -

int qty = 179;

Giải thích khái niệm truy cập con trỏ trong ngôn ngữ C

Khai báo một con trỏ

int *p;

‘P’ là một biến con trỏ giữ địa chỉ của một biến số nguyên khác.

Khởi tạo con trỏ

Toán tử địa chỉ (&) được sử dụng để khởi tạo một biến con trỏ.

int qty = 175;
int *p;
p= &qty;

Giải thích khái niệm truy cập con trỏ trong ngôn ngữ C

Hãy xem xét một ví dụ về cách con trỏ hữu ích trong việc truy cập các phần tử trong một mảng chuỗi.

Trong chương trình này, chúng tôi đang cố gắng truy cập một phần tử hiện diện tại một vị trí cụ thể. Vị trí có thể được tìm thấy bằng cách sử dụng một thao tác.

Bằng cách thêm con trỏ tăng trước vào chuỗi con trỏ tăng trước và trừ 32, bạn nhận được giá trị tại vị trí đó.

Ví dụ

#include<stdio.h>
int main(){
   char s[] = {'a', 'b', 'c', '\n', 'c', '\0'};
   char *p, *str, *str1;
   p = &s[3];
   str = p;
   str1 = s;
   printf("%d", ++*p + ++*str1-32);
   return 0;
}

Đầu ra

77

Giải thích

p = &s[3]. i.e p = address of '\n';
str = p; i.e str = address of p;
str1 = s; str1 = address of 'a';
printf ("%d", ++*p + ++*str1 - 32);
i.e printf("%d", ++\n + a -32);
i.e printf("%d", 12 + 97 -32);
i.e printf("%d", 12 + 65);
i.e printf("%d", 77);
Thus 77 is outputted