c++指针的*

1.*运算符

*运算符被称为间接值(indirect value)或者解除引用(dereferencing)运算符

将其应用于指针可以得到该地址处存储的值

由于 * 也有乘法的意思,c++通过上下文来确定是乘法还是解除引用

2.如何声明和初始化指针

cpp 复制代码
int * p_update;

这表明:*p_update的类型是int。由于*应用于指针,故p_update变量本身是指针。我们说p_update指向int类型,也说p_update的类型是指向int的指针,或者说p_update类型是*int。

一句话:p_update是指针,*p_update是int

除此以外,一个小细节:

*运算符的两边空格是可选的

传统的c程序员使用如下格式:

cpp 复制代码
int *ptr;

这里强调*ptr是int类型的值

c++程序员使用如下方式:

cpp 复制代码
int* ptr;

强调ptr是int*类型,一种指向int的指针

但是,在哪里加空格对编译器没有区别,以下方式都可以

cpp 复制代码
int*ptr;//两边都没有空格
int * ptr;//两边都有空格

还有一个细节:

cpp 复制代码
int* p1,p2;//这里p1是int*类型,而p2是int类型,这个要注意
//对每个指针变量名都需要使用一个*
int *p3,*p4;//这里p3,p4都是int*类型
相关推荐
risc-v@cn1 小时前
【在ubuntu下使用vscode打开c++的make项目及编译调试】
c++·vscode·ubuntu
让我们一起加油好吗1 小时前
【C++】多态(详解)
c++·visualstudio·多态·虚函数
草莓熊Lotso1 小时前
【C++】--函数参数传递:传值与传引用的深度解析
c语言·开发语言·c++·其他·算法
zylyehuo2 小时前
C++提高编程
c++
scx201310042 小时前
20250822 组题总结
c++·算法
困鲲鲲3 小时前
CMake2: CMakeLists.txt的常用命令
c++·cmake·常用命令
云边有个稻草人3 小时前
【C++】第二十五节—C++11 (上) | 详解列表初始化+右值引用和移动语义
c++·c++11·右值引用·移动语义·列表初始化·移动构造·移动赋值
源代码•宸4 小时前
网络流量分析——基础知识(二)(Tcpdump 基础知识)
运维·开发语言·网络·c++·经验分享·tcpdump
johnZhangqi11 小时前
深圳大学-计算机信息管理课程实验 C++ 自考模拟题
java·开发语言·c++
StudyWinter12 小时前
【C++】仿函数和回调函数
开发语言·c++·回调函数·仿函数