C++指针
C++语言中的指针是变量,也称为指向值地址的定位符或指示符。
指针的优点
1)指针减少了代码并
2)我们可以使用指针从函数中返回多个值。
3)它使您能够访问计算机内存中的任何内存位置。
指针的用法
C++语言中有很多指针的用法。
1)动态内存分配
在C语言中,我们可以在使用指针的情况下使用malloc()和calloc()函数动态分配内存。
2)数组,函数和结构
c语言中的指针广泛用于数组,函数和结构。它减少了代码并提高了性能。
指针中使用的符号
符号 |
名称 |
说明 |
& |
地址运算符 |
确定变量的地址。 |
*(星号) |
间接运算符 |
访问地址值。 |
声明指针
可以使用*(星号)声明C++语言中的指针。
int ∗ a; //pointer to int
char ∗ c; //pointer to char
指针示例
让我们看一下使用指针打印地址和值的简单示例。
#include <iostream>
using namespace std;
int main()
{
int number=30;
int ∗ p;
p=&number;//stores the address of number variable
cout<<"Address of number variable is:"<<&number<<endl;
cout<<"Address of p variable is:"<<p<<endl;
cout<<"Value of p variable is:"<<*p<<endl;
return 0;
}
输出:
Address of number variable is:0x7ffccc8724c4
Address of p variable is:0x7ffccc8724c4
Value of p variable is:30
指针程序无需使用第3个变量即可交换2个数字
#include <iostream>
using namespace std;
int main()
{
int a=20,b=10,∗p1=&a,∗p2=&b;
cout<<"Before swap: ∗p1="<<∗p1<<" ∗p2="<<∗p2<<endl;
∗p1=∗p1+∗p2;
∗p2=∗p1-∗p2;
∗p1=∗p1-∗p2;
cout<<"After swap: ∗p1="<<∗p1<<" ∗p2="<<∗p2<<endl;
return 0;
}
输出:
Before swap: ∗p1=20 ∗p2=10
After swap: ∗p1=10 ∗p2=20