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

Giải thích các con trỏ cho giao tiếp giữa các chức năng trong ngôn ngữ C.

Chúng tôi biết rằng các hàm có thể được gọi theo giá trị và được gọi bằng tham chiếu.

  • Nếu tham số thực tế không nên thay đổi trong hàm được gọi, hãy chuyển giá trị của từng tham số.
  • Nếu giá trị của tham số thực tế sẽ bị thay đổi trong hàm được gọi, thì hãy sử dụng tham chiếu chuyển qua.
  • Nếu hàm phải trả về nhiều hơn một giá trị, hãy trả về những giá trị này một cách gián tiếp bằng cách sử dụng lệnh gọi theo tham chiếu.

Ví dụ

Sau đây là chương trình C trình diễn trả về nhiều giá trị -

#include<stdio.h>
void main() {
   void areaperi(int,int*,int*);
   int r;
   float a,p;
   printf("enter radius of circle:\n");
   scanf("%d",&r);
   areaperi(r,&a,&p);
   printf("area=%f\n",a);
   printf("perimeter=%f",p);
}
void areaperi(int x,int *p,int *q) {
   *p=3.14*x*x;
   *q=2 * 3.14*x;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter radius of circle: 5
Area=78.50000
Perimeter=31.40000

Lưu ý

  • Con trỏ có kiểu được liên kết với chúng. Chúng không chỉ là loại con trỏ mà còn là con trỏ đến một loại cụ thể.
  • Kích thước của tất cả các con trỏ là như nhau, bằng với kích thước trên int.
  • Mọi con trỏ đều giữ địa chỉ của một vị trí bộ nhớ trong máy tính, nhưng kích thước của một biến mà con trỏ tham chiếu có thể khác nhau.