บทช่วยสอน c ++ ชี้ ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ตัวชี้คืออะไร?,โดยใช้ตัวชี้ใน C ++,c ++ ชี้แจงตัวชี้,
การเรียนรู้ภาษา C ++ ชี้เรื่องง่ายและสนุก ผ่านตัวชี้คุณสามารถลดความซับซ้อนของการดำเนินการบางส่วนของ C ++ งานเขียนโปรแกรมที่มีงานบางอย่างเช่นการจัดสรรหน่วยความจำแบบไดนามิกไม่มีตัวชี้จะไม่มีผลบังคับใช้ ดังนั้นผมอยากจะเป็นโปรแกรมเมอร์ C ++ ดีชี้การเรียนรู้เป็นสิ่งที่จำเป็น
ที่คุณรู้ว่าแต่ละคนมีตัวแปรที่ตั้งของหน่วยความจำที่ตั้งหน่วยความจำแต่ละกำหนดที่อยู่ของผู้ประกอบการเข้าถึงสามารถใช้ยัติภังค์ (&) ซึ่งหมายถึงการอยู่ในหน่วยความจำ พิจารณาตัวอย่างต่อไปนี้ซึ่งจะกำหนดเอาท์พุทที่อยู่ตัวแปร:
#include <iostream> using namespace std; int main () { int var1; char var2[10]; cout << "var1 变量的地址: "; cout << &var1 << endl; cout << "var2 变量的地址: "; cout << &var2 << endl; return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
var1 变量的地址: 0xbfebd5c0 var2 变量的地址: 0xbfebd5b6
โดยวิธีการเช่นข้างต้นเราเข้าใจสิ่งที่อยู่หน่วยความจำและวิธีการเข้าถึงได้ ลองดูที่สิ่งที่เป็นตัวชี้
ตัวชี้เป็นตัวแปรที่มีค่าที่อยู่ของตัวแปรอื่นคือที่อยู่ตรงกับที่ตั้งหน่วยความจำก่อนที่จะชอบหรือตัวแปรอื่น ๆ คงที่คุณต้องใช้หน่วยความจำที่อยู่ที่ตัวชี้ของตัวแปรอื่น ๆ ก็มีการประกาศ รูปแบบทั่วไปของการประกาศตัวแปรชี้คือ
type *var-name;
นี่พิมพ์เป็นตัวชี้การพิมพ์ฐานมันจะต้องเป็น C ++ ที่ถูกต้องชนิดข้อมูลvar คือชื่อของตัวแปรตัวชี้ จะใช้ในการประกาศตัวชี้เครื่องหมาย * คูณใช้เครื่องหมายดอกจันเป็นเหมือนกัน แต่ในคำสั่งนี้ดอกจันถูกใช้เพื่อระบุตัวแปรที่เป็นตัวชี้ ต่อไปนี้เป็นคำประกาศชี้ที่ถูกต้อง:
int *ip; /* 一个整型的指针 */ double *dp; /* 一个 double 型的指针 */ float *fp; /* 一个浮点型的指针 */ char *ch /* 一个字符型的指针 */
ทั้งหมดชี้ชนิดของข้อมูลที่เกิดขึ้นจริงของค่าไม่ว่าจะเป็นจำนวนเต็มลอยสตริงหรือชนิดข้อมูลอื่น ๆ ที่เหมือนกันคือเลขฐานสิบหกหมายถึงการอยู่หน่วยความจำระยะยาว ข้อแตกต่างระหว่างประเภทที่แตกต่างกันของตัวชี้ข้อมูลตัวชี้เป็นตัวแปรหรือคงที่ชนิดข้อมูล
บ่อยครั้งที่จะใช้ตัวชี้เมื่อการดำเนินการดังต่อไปนี้: กำหนดตัวแปรชี้ที่อยู่ตัวแปรที่กำหนดให้กับตัวชี้เข้าถึงค่าของตัวแปรที่อยู่ที่มีตัวชี้ นี้จะกระทำโดยใช้ตัวดำเนินการ* เอกจะกลับค่าของตัวแปรตั้งอยู่ในที่อยู่ของตัวถูกดำเนินการตามที่ระบุไว้ตัวอย่างต่อไปนี้เกี่ยวข้องกับการกระทำเหล่านี้:
#include <iostream> using namespace std; int main () { int var = 20; // 实际变量的声明 int *ip; // 指针变量的声明 ip = &var; // 在指针变量中存储 var 的地址 cout << "Value of var variable: "; cout << var << endl; // 输出在指针变量中存储的地址 cout << "Address stored in ip variable: "; cout << ip << endl; // 访问指针中地址的值 cout << "Value of *ip variable: "; cout << *ip << endl; return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
Value of var variable: 20 Address stored in ip variable: 0xbfc601ac Value of *ip variable: 20
ใน C ++ มีตัวชี้หลายแนวคิดที่เกี่ยวข้องกับการที่ง่ายมาก แต่สิ่งที่สำคัญมาก รายการต่อไปนี้ C ++ Programmer จะต้องตระหนักถึงแนวคิดที่สำคัญบางอย่างที่เกี่ยวข้องกับตัวชี้:
概念 | 描述 |
---|---|
C++ Null 指针 | C++ 支持空指针。NULL 指针是一个定义在标准库中的值为零的常量。 |
C++ 指针的算术运算 | 可以对指针进行四种算术运算:++、--、+、- |
C++ 指针 vs 数组 | 指针和数组之间有着密切的关系。 |
C++ 指针数组 | 可以定义用来存储指针的数组。 |
C++ 指向指针的指针 | C++ 允许指向指针的指针。 |
C++ 传递指针给函数 | 通过引用或地址传递参数,使传递的参数在调用函数中被改变。 |
C++ 从函数返回指针 | C++ 允许函数返回指针到局部变量、静态变量和动态内存分配。 |