指针 顾名思义
就是指向一个元素(变量、数组、结构体、类...)的地址的变量
因为其指向元素多种多样
也就导致了其类型多种多样
以及有不同的语法
表示解读地址 也就是把地址里的东西读出来
同时也用于定义
表示取当前元素的地址
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;
这里数组名前面不用加 &
这是和变量的区别
#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...