Con trỏ trên C như thế nào? Công dụng, tác dụng của con trỏ trên C?

https://toithacmac.files.wordpress.com/2014/01/pointerschematicalexplabm4.jpgTrong pascal con trỏ thực sự không mấy khi dùng. Nhưng trong C con trỏ nó cực kỳ mạnh mẽ, và nó còn là một nét đặc trưng của C trong khi làm việc với mảng hay cấp phát động...
Để hiểu được con trỏ anh cần phải biết một số kiến thức về vi xử lý, hệ điều hành, và bộ nhớ.... Nhưng để đơn giản em xin lấy ví dụ thế này.

Ví dụ có hàng tỷ cái chai, đặt trên một băng có thứ tự từ 1 tới 1 tỷ.
Bây giờ anh lấy một cái chai và dán một cái nhãn cho nó chẳng hạn là 'Cam'
Sau đó anh lại đổ vào chai đó 2 lít nước cam
Cái hành động dán nhãn có thể ví như việc anh khai báo biến, còn việc anh đổ 2 lít nước cam vào chai chính có thể coi như là anh gán cho biến một giá trị là 2.
Có thể nó như thế này đây:
int cam;
cam=2;
Vậy con trỏ là như thế nào?
Ví dụ chai ta vừa lấy nó nằm vào vị trí 6590 chẳng hạn. Vậy 6590 chính là con trỏ cam, và ta có thể biết được chai cam chứa bao nhêu cam qua vị trí của nó (tức con trỏ)
Có lẽ là nó như thế này đây
int *pcam;
pcam=&cam;
Như vậy Nếu như in ra ta sẽ nhận được như sau : pcam=6590 và *pcam=2.

Sau đây là một ví dụ nhé

#include<stdio.h>
#include<conio.h>
int main()
{
        clrscr();
        int cam,y;
        int *pcam;
        cam=2;
        pcam=&cam;
        y=*pcam+1;
        printf("cam= %u",cam);
        printf("\npcam= %u",pcam);
        printf("\n*pcam= %u",*pcam);
        printf("\ny= %u",y);
        getch();
        return 0;
}
Ntech Developers

Programs must be written for people to read, and only incidentally for machines to execute.

Post a Comment

Previous Post Next Post