[C++]指针
时间:2021-05-24 02:53:53
收藏:0
阅读:0
指针
指针 顾名思义
就是指向一个元素(变量、数组、结构体、类...)的地址的变量
因为其指向元素多种多样
也就导致了其类型多种多样
以及有不同的语法
指针语法
符号表示
- "*" 解地址符
表示解读地址 也就是把地址里的东西读出来
同时也用于定义
- "&" 取地址符
表示取当前元素的地址
对于变量
- 定义指针
int *p;
//变量类型 *指针名称;
在不同的码风下
还可能会有这样的:
int* p;
int * p;
这里的含义都是一样的
“*”只能定义之后的第一个为指针
EG:
int* p,q;
此时 p 为指针
而 q 任为 int型 的变量
- 初始化/赋值
int a = 5;
int* p = &a;
/*
这样也可以:
int *p;
p = &a;
*/
指针是用于存储地址的
所以 p 的值当然要由 a 取地址再赋值
这样 p 里存的才是 a 的地址
- 调用
cout << "a的地址:" << p << endl;
cout << "a的取值:" << *p << endl;
对于数组
- 初始化/赋值
int arr[5] = {9,2,3,4,5};
int *p = arr;
这里数组名前面不用加 &
这是和变量的区别
- 调用
- *p 取到的是数组的第一个元素
- *(p+n) 取到数组的第 n+1 个元素
效果展示
效果代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int arr[5] = {9,2,3,4,5};
int *p = arr;
cout << p << endl;
cout << *p+1 << endl;
cout << *(p+1) << endl;
}
对应输出
0x22fe30
10
2
--------------------------------
Process exited after 0.02889 seconds with return value 0
请按任意键继续. . .
对于结构体
to be continue...
对于类
指针妙用
评论(0)