指针——C++的灵魂

简介: 指针——C++的灵魂

学习指针之前需要明确一个概念叫内存地址,计算机的内存被划分为一个个的存储单元,简称内存单元;内存单元按一定的规则编号,这个编号就是存储单元的地址。

image.png


指针变量和指针变量的定义


指针变量是一种特殊的变量,用于存放内存单元的地址,既能存放地址的变量就是指针变量。


指针变量的定义格式:

数据类型 * 指针变量名

———定义语句中" * "表示该变量为指针变量

———指针变量前的数据类型规定了指针变量指向的变量的数据类型


指针变量的三个要素

变量名:与一般变量名相同,由英文字符开始

指针变量的类型:指针所指向的变量的类型,而不是自身的类型。指针变量本身均为 long int 类型。

指针变量的值:是某个变量的内存地址。


地址运算符 &

取地址运算符:是一个一元运算符,用来得到一个变量的地址。

例如: int a;

&a表示变量a在内存中的起始地址。&后面必须是一个变量。

**指针运算符 * **

指针运算符:是一个一元运算符,表示指针变量所指向的变量的值。


指针变量的初始化与赋值

指针变量初始化,在定义时赋值:

数据类型 *指针名=地址

指针赋值:指针变量=地址;

其中的“地址”可以是变量的地址,数组名等


指针赋值的注意事项:

不能把常量或表达式赋给指针变量。

不能将一个整数赋给指针变量,但可以赋整数值0,0是可以直接赋给指针变量的,表示空地址。


目录
相关文章
|
存储 安全 算法
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
61 5
|
29天前
|
存储 安全 C++
在C++指针和引用
在C++指针和引用
|
1月前
|
安全 程序员 Linux
【C++】—— c++11之智能指针
【C++】—— c++11之智能指针
|
25天前
|
JSON JavaScript 前端开发
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
255 0
|
11天前
|
存储 C++
C++指针
C++指针
|
22天前
|
存储 编译器 C语言
【c++】类和对象(二)this指针
朋友们大家好,本节内容来到类和对象第二篇,本篇文章会带领大家了解this指针
【c++】类和对象(二)this指针
|
23天前
|
存储 编译器 C语言
【C++练级之路】【Lv.2】类和对象(上)(类的定义,访问限定符,类的作用域,类的实例化,类的对象大小,this指针)
【C++练级之路】【Lv.2】类和对象(上)(类的定义,访问限定符,类的作用域,类的实例化,类的对象大小,this指针)
|
25天前
|
存储 安全 数据库连接
【C++智能指针】深入探究C++智能指针:自定义删除器的设计与选择
【C++智能指针】深入探究C++智能指针:自定义删除器的设计与选择
82 0
|
25天前
|
存储 安全 编译器
【C++ 函数设计的艺术】深挖 C++ 函数参数的选择 智能指针与 std::optional:最佳实践与陷阱
【C++ 函数设计的艺术】深挖 C++ 函数参数的选择 智能指针与 std::optional:最佳实践与陷阱
106 0
|
25天前
|
安全 算法 程序员
【C++ 空指针的判断】深入理解 C++11 中的 nullptr 和 nullptr_t
【C++ 空指针的判断】深入理解 C++11 中的 nullptr 和 nullptr_t
47 0