码迷,mamicode.com
首页 > 编程语言 > 详细

[C++]指针

时间:2021-05-24 02:53:53      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:语法   调用   符号表   名称   sum   amp   pac   return   符号   

指针

指针 顾名思义

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

因为其指向元素多种多样

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

以及有不同的语法

指针语法

符号表示

  • "*" 解地址符

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

同时也用于定义

  • "&" 取地址符

表示取当前元素的地址

对于变量

  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++]指针

标签:语法   调用   符号表   名称   sum   amp   pac   return   符号   

原文地址:https://www.cnblogs.com/rosyr050301/p/point.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!