Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Khác biệt con trỏ và mảng trong C


Chi tiết con trỏ và mảng thể hiện sự khác biệt:

Con trỏ

Con trỏ là biến lưu địa chỉ biến khác. Khi cấp phát bộ nhớ cho biến, con trỏ trỏ đến địa chỉ bộ nhớ biến. Toán tử đơn ngôi (*) khai báo biến con trỏ.

Cú pháp khai báo con trỏ:

datatype *variable_name;

Đây kiểu dữ liệu biến như int, char, float... variable_name do người dùng đặt.

Chương trình minh họa con trỏ:

Ví dụ

#include <stdio.h>
int main() {
    int a = 8;
    int *ptr;
    ptr = &a;
    printf("Giá trị biến a: %d\n", a);
    printf("Địa chỉ biến a: %d\n", ptr);
    return 0;
}

Kết quả chương trình:

Giá trị biến a: 8
Địa chỉ biến a: -2018153420

Mảng

Mảng là tập hợp phần tử cùng kiểu tại vị trí bộ nhớ liên tục. Địa chỉ thấp nhất tương ứng phần tử đầu, cao nhất phần tử cuối. Chỉ số mảng bắt đầu 0 kết thúc size-1.

Kết quả

Cú pháp mảng:

type array_name[array_size];

array_name tên mảng, array_size kích thước.

Chương trình minh họa mảng:

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;
}

Kết quả

Đầu ra chương trình:

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