C/C++教程

[C++]指针

本文主要是介绍[C++]指针,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

指针

指针 顾名思义

就是指向一个元素(变量、数组、结构体、类...)的地址的变量

因为其指向元素多种多样

也就导致了其类型多种多样

以及有不同的语法

指针语法

符号表示

  • "*" 解地址符

表示解读地址 也就是把地址里的东西读出来

同时也用于定义

  • "&" 取地址符

表示取当前元素的地址

对于变量

  1. 定义指针
int *p;
//变量类型 *指针名称;

在不同的码风下

还可能会有这样的:

int* p;
int * p;

这里的含义都是一样的

“*”只能定义之后的第一个为指针

EG:

int* p,q;

此时 p 为指针

而 q 任为 int型 的变量

  1. 初始化/赋值
int a = 5;
int* p = &a;
/*
这样也可以:
int *p;
p = &a;
*/

指针是用于存储地址的

所以 p 的值当然要由 a 取地址再赋值

这样 p 里存的才是 a 的地址

  1. 调用
cout << "a的地址:" << p << endl;
cout << "a的取值:" << *p << endl;

对于数组

  1. 初始化/赋值
int arr[5] = {9,2,3,4,5};
int *p = arr;

这里数组名前面不用加 &

这是和变量的区别

  1. 调用
  • *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...

对于类

指针妙用

这篇关于[C++]指针的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!