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

Sự khác biệt giữa con trỏ và mảng trong C


Chi tiết về con trỏ và mảng thể hiện sự khác biệt của chúng được đưa ra như sau.

Con trỏ

Con trỏ là một biến lưu trữ địa chỉ của một biến khác. Khi bộ nhớ được cấp cho một biến, con trỏ trỏ đến địa chỉ bộ nhớ của biến đó. Toán tử đơn nguyên (*) được sử dụng để khai báo một biến con trỏ.

Sau đây là cú pháp khai báo con trỏ.

datatype *variable_name;

Ở đây, kiểu dữ liệu là kiểu dữ liệu của biến như int, char, float, v.v. và tên_biến là tên của biến do người dùng cung cấp.

Một chương trình minh họa các con trỏ được đưa ra như sau.

Ví dụ

#include <stdio.h>
int main () {
   int a = 8;
   int *ptr;
   ptr = &a;
   printf("Value of variable a: %d\n", a);
   printf("Address of variable a: %d\n", ptr);
   return 0;
}

Kết quả của chương trình trên như sau.

Value of variable a: 8
Address of variable a: -2018153420

Mảng

Mảng là một tập hợp các phần tử giống nhau tại các vị trí bộ nhớ liền nhau. Địa chỉ thấp nhất trong một mảng tương ứng với phần tử đầu tiên trong khi địa chỉ cao nhất tương ứng với phần tử cuối cùng. Chỉ số mảng bắt đầu bằng không (0) và kết thúc bằng kích thước của mảng trừ đi một (kích thước mảng - 1).

Đầu ra

Sau đây là cú pháp của mảng.

type array_name[array_size ];

Ở đây, array_name là tên được đặt cho một mảng và array_size là kích thước của mảng.

Một chương trình minh họa mảng được đưa ra như sau.

Ví dụ

#include <stdio.h>
int main () {
   int a[5];
   int i,j;
   for (i = 0;i<5;i++) {
      a[i] = i+100;
   }
   for (j = 0;j<5;j++) {
      printf("Element[%d] = %d\n", j, a[j] );
   }
   return 0;
}

Đầu ra

Kết quả của chương trình trên như sau.

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104