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

Giải thích các phép toán số học sử dụng 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 các phép toán số học sử dụng 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 các phép toán số học sử dụng con trỏ trong ngôn ngữ C?

Các phép toán số học sử dụng con trỏ

Các biến con trỏ có thể được sử dụng trong các biểu thức. Ví dụ:nếu các biến con trỏ được khai báo và khởi tạo đúng cách thì các câu lệnh sau là hợp lệ.

a) *p1 + *p2
b) *p1- *p2
c) *p1 * *p2
d) *p1/ *p2 Note: There must be a blank space between / and *
otherwise it is treated as beginning of comment line
e ) p1 + 4
f) p2 - 2
g) p1 - p2 Note: returns the no. of elements in between p1 and p2 if
both of them point to same array
h) p1++
i) – – p2
j) sum + = *p2
j) p1 > p2
k) p1 = = p2
l) p1 ! = p2 Note: Comparisons can be used meaningfully in handling
arrays and strings

Các câu lệnh sau không hợp lệ -

a) p1 + p2
b) p1 * p2
c) p1 / p2
d) p1 / 3

Chương trình

#include<stdio.h>
main (){
   int a,b,x,y,z;
   int *p1, *p2;
   a =12;
   b = 4;
   p1= &a;
   p2 = &b;
   x = *p1 * * p2 – 6;
   y= 4 - *p2 / *p1+10;
   printf (“Address of a = %d”, p1);
   printf (“Address of b = %d”, p2);
   printf (“a= %d b =%d”, a,b);
   printf (“x= %d y =%d”, x,y);
}

Đầu ra

Address of a = 1234
Address of b = 5678
a = 12 b= 4
x = 42 y= 14

Giải thích

Giải thích các phép toán số học sử dụng con trỏ trong ngôn ngữ C?