C++(二十)
前言:
本文主要讲解在C++中指针的概念与使用。
一,地址。
1,地址的概念。
在计算机中有存储器这一概念,他会存储变量的数值,在C++中,还有一种叫指针的概念可以直接显示出存储器中变量所在的位置。
C++中的“地址”用于直接表示存储器的位置,即存储器上的地址,大多使用十六进制数,例如0x1000,0x1001来表示,相当于在计算机内的地址。
2,地址变量。
想要知道存储变量的内存地址,需要使用取地址运算符&,语法如下:
& 变量名 //表示变量的地址
具体使用如下:
# include <iostream>
using namespace std;
int main(){
int a = 5;
cout << "变量a的值是:"<<a << endl;
cout << "变量a的地址是:"<<&a << endl;
return 0;
}
运行结果为:
给变量名加上运算符&后,就能知道变量的地址。
二,指针简介。
指针是 C++ 编程语言中的一个重要特性,允许程序直接操作内存地址。指针存储的是另一个变量的内存地址而不是其值本身。
指针提供了一种机制来间接访问数据,这使得能够更有效地处理大型数据结构如数组和链表,并支持动态内存管理以及函数间的数据共享。此外,利用指针还可以优化性能并减少不必要的复制开销。
语法:
数据类型 * 变量名 //声明指针
在使用过程中,数据类型要与所指向的变量类型一致,变量名就是是使用者所取的名字。
指针的声明步骤如下:
int * pA; //声明指针
该语句声明了能存储int型变量地址的指针pA,也可以称之为只想int型指针pA。
原则上来说,指针不能存储指定类型之外的数据地址。也就是pA只能存储int型数据地址。
例如:
# include <iostream>
using namespace std;
int main(){
int a=10 ;
int*pA;
pA = &a;
cout<<"a = "<<a<<endl;//输出a的值
cout<<"pA = "<<pA<<endl;//输出pA,即a的地址
cout<<"*pA = "<<*pA<<endl;//输出pA所指向的值,即a的值
cout<<"&a = "<<&a<<endl;//输出a的地址
return 0;
}
运行结果为:
由此可知,这段代码实现了遭致臻pA中存储变量a地址的功能,并且pA的值与&a的值一致。