Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 主页 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学 C++ 布尔值 C++ if...Else C++ Switch C++ While 循环 C++ For 循环 C++ Break/Continue C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归

C++ 类

C++ OOP C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构

C++ 数据结构 & STL C++ 向量 C++ 列表 C++ 堆栈 C++ 队列 C++ 双端队列 C++ 集合 C++ 映射 C++ 迭代器 C++ 算法

C++ 如何操作

C++ 加两个数字 C++ 随机数

C++ 参考

C++ 参考 C++ 关键字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 示例

C++ 示例 C++ 现实生活中的例子 C++ 编译器 C++ 练习 C++ 测验 C++ 证书


C++ 指针


创建指针

您在上一章中了解到,我们可以使用 & 运算符获取变量的**内存地址**。

示例

string food = "Pizza"; // 一个名为 food 的字符串类型的变量

cout << food;  // 输出 food 的值 (Pizza)
cout << &food; // 输出 food 的内存地址 (**0x6dfed4**)
自己尝试 »

然而,**指针**是一个变量,它**以内存地址为值**。

指针变量指向与之类型相同的变量(例如 intstring),并使用 * 运算符创建。您正在操作的变量的地址被分配给指针。

示例

string food = "Pizza";  // 一个名为 food 的字符串类型的变量
string* ptr = &food;    // 一个名为 ptr 的指针变量,它存储 food 的地址

// 输出 food 的值 (Pizza)
cout << food << "\n";

// 输出 food 的内存地址 (0x6dfed4)
cout << &food << "\n";

// 输出 food 的内存地址,使用指针 (0x6dfed4)
cout << ptr << "\n";
自己尝试 »

示例解释

使用星号 * (string* ptr) 创建一个名为 ptr 的指针变量,该变量**指向**一个 string 类型的变量。请注意,指针的类型必须与您正在操作的变量的类型匹配。

使用 & 运算符存储名为 food 的变量的内存地址,并将其分配给指针。

现在,ptr 保存了 food 内存地址的值。

提示:有三种方法可以声明指针变量,但第一种方法是首选的

string* mystring; // 首选
string *mystring;
string * mystring;

C++ 练习

通过练习测试自己

练习

创建一个名为 ptr 的**指针**变量,该变量应该指向一个名为 foodstring 类型的变量。

string food = "Pizza";
  = &;

开始练习

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.