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

Các ứng dụng của con trỏ trong C / C ++

Để truy cập các phần tử mảng

Chúng ta có thể truy cập các phần tử của mảng bằng cách sử dụng con trỏ.

Trong C

Ví dụ

#include <stdio.h>
int main() {
   int a[] = { 60, 70, 20, 40 };
   printf("%d\n", *(a + 1));
   return 0;
}

Đầu ra

70

Trong C ++

Ví dụ

#include <iostream>
using namespace std;
int main() {
   int a[] = { 60, 70, 20, 40 };
   cout<<*(a + 1);
   return 0;
}

Đầu ra

70

Phân bổ bộ nhớ động

Để cấp phát động bộ nhớ, chúng tôi sử dụng con trỏ.

Trong C

Ví dụ

#include <stdio.h>
#include <stdlib.h>
int main() {
   int i, *ptr;
   ptr = (int*) malloc(3 * sizeof(int));
   if(ptr == NULL) {
      printf("Error! memory not allocated.");
      exit(0);
   }
   *(ptr+0)=1;
   *(ptr+1)=2;
   *(ptr+2)=3;
   printf("Elements are:");
   for(i = 0; i < 3; i++) {
      printf("%d ", *(ptr + i));
   }
   free(ptr);
   return 0;
}

Đầu ra

Elements are:1 2 3

Trong C ++

Ví dụ

#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
   int i, *ptr;
   ptr = (int*) malloc(3 * sizeof(int));
   if(ptr == NULL) {
      cout<<"Error! memory not allocated.";
      exit(0);
   }
   *(ptr+0)=1;
   *(ptr+1)=2;
   *(ptr+2)=3;
   cout<<"Elements are:";
   for(i = 0; i < 3; i++) {
      cout<< *(ptr + i);
   }
   free(ptr);
   return 0;
}

Đầu ra

Elements are:1 2 3

Truyền đối số cho một hàm dưới dạng tham chiếu

Chúng ta có thể sử dụng con trỏ để chuyển đối số bằng cách tham chiếu trong các hàm để tăng hiệu quả.

Trong C

Ví dụ

#include <stdio.h>
void swap(int* a, int* b) {
   int t= *a;
   *a= *b;
   *b = t;
}
int main() {
   int m = 7, n= 6;
   swap(&m, &n);
   printf("%d %d\n", m, n);
   return 0;
}

Đầu ra

6 7

Trong C ++

Ví dụ

#include <iostream>
using namespace std;
void swap(int* a, int* b) {
   int t= *a;
   *a= *b;
   *b = t;
}
int main() {
   int m = 7, n= 6;
   swap(&m, &n);
   cout<< m<<n;
   return 0;
}

Đầu ra

67

Để triển khai các cấu trúc dữ liệu như danh sách liên kết, cây, chúng ta cũng có thể sử dụng con trỏ.