Con trỏ trong c/c++

      Mục lục
  1. Giới thiệu về con trỏ, ưu việt của con trỏ
  2. Ví dụ dùng con trỏ
  3. Sự khác nhau giữa con trỏ và biến
  4. Sự khác nhau giữa con trỏ và mảng
  5. Khi nào cần dùng đến con trỏ
Mở đầu
Con trỏ là một trong những vấn đề rất nhức nhối trong c/c++. Không chỉ những người mới tiếp cận mà cả những lập trình viên hệ thống nhiều năm kinh nghiệm.  Trong bài viết này mình sẽ giới thiệu các bạn một số kiến thức về con trỏ và một chút kinh nghiệm của mính trong quá trình làm việc với c/c++. Mong các bạn có thể hiểu rõ hơn để có thể dùng con trỏ một cách tốt nhất

1. Giới thiệu về con trỏ, ưu việt của con trỏ
- Trước tiên ta cần làm sáng tỏ các khái niệm tham chiếu, tham trị. Lấy ví dụ đơn giản khi chúng ta đi mua hàng. Ta mua một gói bánh giá trị 20 nghìn, ta đưa cho chủ quá 20 ngàn rồi ta lấy lại gói bánh. Thì 20 ngàn ở đây được tạm hiểu như tham trị, tức là chỉ có ý nghĩa về mặt giá trị. 
    Còn giả sử ta đi đăng ký dự thi, ta đưa chứng minh thư cho giám thị. Thì chứng minh thư mang đầy đủ thông tin về chúng ta, giả sử chúng ta có gian lận hay vi phạm điều gì đó thì dựa vào chứng minh thư có thể tra ra tất cả thông tin từ quê quán, gia đình.... Thì trong trường hợp này ta tạm hiểu chứng minh thư như tham chiếu
- Trong c/c++ chúng ta càng phải hiểu rõ hơn hai khái niệm này, để từ đó có thể đưa ra cách giải quyết hợp lý.
- Một con trỏ khi khai báo,thì tùy trình biên dịch sẽ cấp phát bộ nhớ cho con trỏ và tất cả kiểu con trỏ đều được cấp phát bộ nhớ như nhau. Ví dụ trình biên dịch 32 bit, khi ta khai báo:
char* var1;
int* var2;
chưa xét var1, var2 được dùng như nào, nhưng nếu khai báo như này thì hai biến được cấp phát bộ nhớ đều là 4 byte. Còn nếu trình biên dịch 64 bit thì hai biến var1 và var2 đều được cấp phát bộ nhớ 8 byte.
- Để check size của chúng thì ta có thể dùng toán tử sizeof. trong trường hợp trình biên dịch 32 bit thì
sizeof(var1) = sizeof(var2) = 4;

Nhận xét

Bài đăng phổ biến từ blog này

Driver cho máy tính