C++
  • Home
  • Học lập trình
    • All
    • Học C++
    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    hướng dẫn cài đặt visual studio code lập trình c++ chi tiết

    Cài Đặt Visual Studio Code Lập Trình C++ Chi Tiết Đơn Giản 2024

    học lập trình c++ thì làm được gì

    Học Lập Trình C++ Thì Làm Được Gì?

    Sự khác nhau giữa struct và class trong C++

    Sự Khác Nhau Giữa Struct Và Class Trong C++

    Sự khác nhau giữa tham chiếu và con trỏ c++

    Sự Khác Nhau Giữa Tham Chiếu Và Con Trỏ Trong C++

    • Học C++
  • Reviews
    Top 7 công cụ tạo website không cần code

    Top 7 Công Cụ Tạo Website Không Cần Code Miễn Phí

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn
    • PC
    • Mobile Tips
No Result
View All Result
  • Home
  • Học lập trình
    • All
    • Học C++
    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Lập trình Backend là gì? Những điều Backend Developer nên biết

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    hướng dẫn cài đặt visual studio code lập trình c++ chi tiết

    Cài Đặt Visual Studio Code Lập Trình C++ Chi Tiết Đơn Giản 2024

    học lập trình c++ thì làm được gì

    Học Lập Trình C++ Thì Làm Được Gì?

    Sự khác nhau giữa struct và class trong C++

    Sự Khác Nhau Giữa Struct Và Class Trong C++

    Sự khác nhau giữa tham chiếu và con trỏ c++

    Sự Khác Nhau Giữa Tham Chiếu Và Con Trỏ Trong C++

    • Học C++
  • Reviews
    Top 7 công cụ tạo website không cần code

    Top 7 Công Cụ Tạo Website Không Cần Code Miễn Phí

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

    Top 7 website luyện thuật toán chất lượng nhất năm 2023 cho IT

  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn
    • PC
    • Mobile Tips
No Result
View All Result
C++
No Result
View All Result
Home Học lập trình Học C++

Con trỏ C++

admin by admin
August 28, 2023
in Học C++
0 0
0
0
SHARES
0
VIEWS
Share on FacebookShare on Twitter

Con trỏ trong ngôn ngữ C++ là một biến, nó còn được gọi là định vị hoặc chỉ báo trỏ đến một địa chỉ của một giá trị.

Biểu tượng của một địa chỉ được đại diện bởi một con trỏ. Ngoài việc tạo và sửa đổi cấu trúc dữ liệu động, chúng cho phép các chương trình mô phỏng theo tham chiếu. Một trong những ứng dụng chính của con trỏ là lặp qua các thành phần của mảng hoặc các cấu trúc dữ liệu khác. Biến con trỏ tham chiếu đến cùng kiểu dữ liệu với biến mà bạn đang xử lý có địa chỉ của biến đó được đặt cho nó (chẳng hạn như kiểu int hoặc chuỗi).

cú pháp

  1. kiểu dữ liệu *var_name;
  2. int  *ptr;   // ptr có thể trỏ đến một địa chỉ chứa dữ liệu int

Làm thế nào để sử dụng một con trỏ?

  1. Thiết lập một biến con trỏ.
  2. sử dụng toán tử một ngôi (&), cho ra địa chỉ của biến, để gán một con trỏ tới địa chỉ của biến.
  3. Sử dụng toán tử một ngôi (*), cung cấp giá trị của biến tại địa chỉ được cung cấp bởi đối số của nó, người ta có thể truy cập giá trị được lưu trữ trong một địa chỉ.

Vì kiểu dữ liệu biết thông tin được lưu giữ trong bao nhiêu byte nên chúng tôi liên kết nó với một tham chiếu. Kích thước của kiểu dữ liệu mà một con trỏ trỏ tới được thêm vào khi chúng ta tăng một con trỏ.

Lợi thế của con trỏ

1) Con trỏ giảm mã và cải thiện hiệu suất, nó được sử dụng để truy xuất chuỗi, cây, v.v. và được sử dụng với mảng, cấu trúc và hàm.

IFrame

2) Chúng ta có thể trả về nhiều giá trị từ hàm bằng cách sử dụng con trỏ.

3) Nó giúp bạn có thể truy cập vào bất kỳ vị trí bộ nhớ nào trong bộ nhớ của máy tính.

Cách sử dụng con trỏ

Có nhiều cách sử dụng con trỏ trong ngôn ngữ C++.

1) Cấp phát bộ nhớ động

Trong ngôn ngữ c, chúng ta có thể cấp phát bộ nhớ động bằng cách sử dụng các hàm malloc() và calloc() nơi sử dụng con trỏ.

2) Mảng, hàm và cấu trúc

Con trỏ trong ngôn ngữ c được sử dụng rộng rãi trong mảng, hàm và cấu trúc. Nó làm giảm mã và cải thiện hiệu suất.

Các ký hiệu dùng trong con trỏ

Biểu tượng Tên Sự miêu tả
& (dấu ampersand) Toán tử địa chỉ Xác định địa chỉ của một biến.
∗ (dấu hoa thị) toán tử chỉ hướng Truy cập giá trị của một địa chỉ.

Khai báo một con trỏ

Con trỏ trong ngôn ngữ C++ có thể được khai báo bằng dấu ∗ (ký hiệu dấu hoa thị).

  1. int  ∗a; //con trỏ tới int
  2. ký tự  ∗c; //con trỏ tới char

Ví dụ con trỏ

Hãy xem ví dụ đơn giản về việc sử dụng con trỏ in địa chỉ và giá trị.

  1. #include <iostream>
  2. sử dụng không gian tên  std;
  3. int  chính ()
  4. {
  5. số nguyên  = 30;
  6. int  ∗p;
  7. p=&số; // lưu địa chỉ của biến số
  8. cout<< “Địa chỉ của biến số là:” <<&number<<endl;
  9. cout<< “Địa chỉ của biến p là:” <<p<<endl;
  10. cout<< “Giá trị của biến p là:” <<*p<<endl;
  11.    trả về  0;
  12. }

Đầu ra:

Địa chỉ của biến số là: 0x7ffccc8724c4
Địa chỉ của biến p là: 0x7ffccc8724c4
Giá trị của biến p là:30  

Con trỏ Chương trình hoán đổi 2 số không dùng biến thứ 3

  1. #include <iostream>
  2. sử dụng không gian tên  std;
  3. int  chính ()
  4. {
  5. int  a=20,b=10,∗p1=&a,∗p2=&b;
  6. cout<< “Trước khi hoán đổi: ∗p1=” <<∗p1<< ” ∗p2=” <<∗p2<<endl;
  7. ∗p1=∗p1+∗p2;
  8. ∗p2=∗p1-∗p2;
  9. ∗p1=∗p1-∗p2;
  10. cout<< “Sau khi hoán đổi: ∗p1=” <<∗p1<< ” ∗p2=” <<∗p2<<endl;
  11.    trả về  0;
  12. }

Đầu ra:

Trước khi hoán đổi: ∗p1=20 ∗p2=10
Sau khi hoán đổi: ∗p1=10 ∗p2=20

Con trỏ và chuỗi ký tự là gì?

Chuỗi ký tự là mảng các chuỗi ký tự có kết thúc bằng null. Các phần tử của một chuỗi ký tự là các mảng kiểu const char (vì các ký tự trong một chuỗi không thể sửa đổi được) cộng với một ký tự null kết thúc.

Con trỏ void là gì?

Loại con trỏ duy nhất này, có sẵn trong C++, đại diện cho việc thiếu loại. Con trỏ trỏ đến một giá trị không có loại được gọi là con trỏ void (và do đó cũng có độ dài không xác định và thuộc tính hội nghị không xác định). Điều này chỉ ra rằng con trỏ void rất linh hoạt vì chúng có thể trỏ tới bất kỳ kiểu dữ liệu nào. Sự linh hoạt này có lợi ích. Không thể hủy đăng ký trực tiếp với những con trỏ này. Trước khi chúng có thể được hủy đăng ký, chúng phải được chuyển đổi thành một loại con trỏ khác trỏ đến một loại dữ liệu cụ thể.

Con trỏ không hợp lệ là gì?

Một con trỏ phải trỏ đến một địa chỉ hợp lệ, không nhất thiết phải trỏ đến các mục hữu ích (như đối với mảng). Chúng tôi gọi đây là những con trỏ không chính xác. Ngoài ra, con trỏ không chính xác là con trỏ chưa được khởi tạo.

  1. int  *ptr1;
  2. mảng int  [10];
  3. int  *ptr2 = mảng+20;

Ở đây, ptr1 không được khởi tạo, làm cho nó không hợp lệ và ptr2 nằm ngoài giới hạn của arr, làm cho nó yếu tương tự. (Hãy lưu ý rằng không phải tất cả các lỗi xây dựng đều do các tham chiếu bị lỗi gây ra.)

Con trỏ null là gì?

Một con trỏ null không chỉ đơn thuần là một địa chỉ không chính xác; nó cũng chỉ hư không. Đây là hai cách để đánh dấu một con trỏ là NULL:

  1. int  *ptr1 = 0;
  2. int  *ptr2 = NULL;

Con trỏ tới con trỏ là gì?

Trong C++, chúng ta có khả năng xây dựng một con trỏ tới một con trỏ khác, sau đó con trỏ này có thể trỏ tới dữ liệu hoặc một con trỏ khác. Toán tử một ngôi (*) là tất cả những gì cần thiết trong cú pháp khai báo con trỏ cho mỗi cấp độ gián tiếp.

  1. ký tự  a;
  2. ký tự  *b;
  3. ký tự  ** c;
  4. a =  ‘g’ ;
  5. b = &a;
  6. c = &b;

Ở đây b trỏ đến một ký tự lưu trữ ‘g’ và c trỏ đến con trỏ b.

Tài liệu tham khảo và con trỏ là gì?

  1. Gọi theo giá trị
  2. Gọi theo tham chiếu với đối số con trỏ
  3. Gọi theo tham chiếu với đối số tham chiếu

Ví dụ

  1. #bao gồm
  2. sử dụng không gian tên  std;
  3. // Truyền qua giá trị
  4. int  vuông1( int  n)
  5. { cout <<  “địa chỉ của n1 trong ô vuông1(): ”  << &n <<  “\n” ;
  6. n *= n;
  7. trả lại  n;
  8. }
  9. // Pass-by-Reference với đối số con trỏ
  10. khoảng trống  hình vuông2( int * n)
  11. {
  12. cout <<  “địa chỉ của n2 trong square2(): ”  << n <<  “\n” ;
  13. *n *= *n;
  14. }
  15. // Truyền qua tham chiếu với đối số tham chiếu
  16. khoảng trống  hình vuông3( int & n)
  17. {
  18. cout <<  “địa chỉ của n3 trong square3(): ”  << &n <<  “\n” ;
  19. n *= n;
  20. }
  21. ví dụ về khoảng trống  ()
  22. {
  23.     // Gọi theo giá trị
  24.     int  n1 = 8;
  25.     cout <<  “địa chỉ của n1 trong hàm main(): ”  << &n1 <<  “\n” ;
  26.     cout <<  “Bình phương của n1: ”  << bình phương1(n1) <<  “\n” ;
  27.     cout <<  “Không thay đổi n1: ”  << n1 <<  “\n” ;
  28.     // Gọi theo tham chiếu với đối số con trỏ
  29.     int  n2 = 8;
  30.     cout <<  “địa chỉ của n2 trong hàm main(): ”  << &n2 <<  “\n” ;
  31.     hình vuông2(&n2);
  32.     cout <<  “Bình phương của n2: ”  << n2 <<  “\n” ;
  33.     cout <<  “Thay doi trong n2: ”  << n2 <<  “\n” ;
  34.     // Gọi theo tham chiếu với đối số tham chiếu
  35.     int  n3 = 8;
  36.     cout <<  “địa chỉ của n3 trong hàm main(): ”  << &n3 <<  “\n” ;
  37.     hình vuông3(n3);
  38.     cout <<  “Bình phương của n3: ”  << n3 <<  “\n” ;
  39.     cout <<  “Thay doi trong n3: ”  << n3 <<  “\n” ;
  40. }
  41. // Chương trình điều khiển
  42. int  main() { ví dụ(); }

đầu ra

Con trỏ Cpp 1
Previous Post

Toán tử phân giải phạm vi trong C++

Next Post

Hàm Friend trong C++

admin

admin

Next Post

Hàm Friend trong C++

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Trending
  • Comments
  • Latest
cách code hình trái tim bằng c++

Cách code hình trái tim giống với nhân vật Thủ Khoa Lý

December 7, 2023
hướng dẫn cài đặt visual studio code lập trình c++ chi tiết

Cài Đặt Visual Studio Code Lập Trình C++ Chi Tiết Đơn Giản 2024

October 3, 2023
Office 2019 full crack

Cách Crack Office 2019 Đơn Giản, Dễ Hiểu Thành Công 100%

September 19, 2023
Top 10 ứng dụng mua hàng Trung Quốc uy tín nhất hiện nay

Top 10 ứng dụng mua hàng Trung Quốc uy tín nhất hiện nay

January 18, 2025

Các lớp lưu trữ trong cpp

0

Câu lệnh if else trong cpp

0

Chức năng của switch trong cpp

0

Mảng đối tượng trong C++

0
Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

October 23, 2023
Top 7 website bán túi xách nữ chính hãng, uy tín nhất

Top 7 website bán túi xách nữ chính hãng, uy tín nhất

October 12, 2023
Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

October 7, 2023
Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

October 5, 2023

Recommended

Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

Quick Sort – Thuật toán sắp xếp đột phá trong thế kỉ XX

October 23, 2023
Top 7 website bán túi xách nữ chính hãng, uy tín nhất

Top 7 website bán túi xách nữ chính hãng, uy tín nhất

October 12, 2023
Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

Hướng dẫn Cài Đặt Và Sử Dụng AutoCAD 2024 Full Crack 

October 7, 2023
Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

Hướng Dẫn Tải Và Sử Dụng GS Auto Clicker 3.1.2 Full Crack

October 5, 2023
Hướng dẫn học C++

© 2023 Hướng dẫn học C++ - Website thuộc bản quyền của Hướng dẫn học C++.

Liên kết

  • Home
  • Học lập trình
  • Reviews
  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn

Theo dõi chúng tôi

No Result
View All Result
  • Home
  • Học lập trình
    • Học C++
  • Reviews
  • Phần mềm PC
  • App/Ứng dụng
  • Game
  • Hướng dẫn
    • PC
    • Mobile Tips

© 2023 Hướng dẫn học C++ - Website thuộc bản quyền của Hướng dẫn học C++.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In