C++指针的基本概念
C++指针是一种特殊的变量,它指向其他变量的地址。指针可以指向任何类型的变量,例如整数、字符串、结构体等。指针可以被用来建立复杂的数据结构,如链表、树等。
C++指针的用法
C++指针的用法有多种,下面介绍几种常见的用法:
1. 用指针定义变量
在C++中,可以使用指针定义变量,例如:
int *p; //定义一个指向整数的指针 char *s; //定义一个指向字符串的指针
2. 使用指针进行赋值操作
使用指针可以对变量进行赋值操作,例如:
int a = 10; int *p = &a; //p指向a *p = 20; //a的值变为20
3. 使用指针进行函数参数传递
可以使用指针作为函数参数,以便在函数内部对变量进行操作,例如:
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int x = 10;
int y = 20;
swap(&x, &y); //x和y的值交换
return 0;
}
4. 使用指针进行数组操作
指针也可以用来操作数组,例如:
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int *p = arr; //p指向数组arr的第一个元素
for (int i = 0; i < 10; i++)
{
cout << *(p + i) << endl; //输出arr中的每个元素
}
5. 使用指针实现对象间的关联
使用指针可以实现对象间的关联,例如:
class A
{
public:
A(int a) : m_a(a) {}
int m_a;
};
class B
{
public:
B(int b) : m_b(b) {}
int m_b;
A *m_pa;
};
int main()
{
A a(10);
B b(20);
b.m_pa = &a; //b的成员变量m_pa指向a
cout << b.m_pa->m_a << endl; //输出a的成员变量m_a的值
return 0;
}
6. 使用指针实现动态内存分配
使用指针可以实现动态内存分配,例如:
int *p = new int[10]; //分配10个int类型的内存
for (int i = 0; i < 10; i++)
{
p[i] = i;
}
delete []p; //释放内存
C++指针是一种特殊的变量,它指向其他变量的地址。C++指针的用法有多种,它可以用来定义变量、进行赋值操作、作为函数参数传递、操作数组、实现对象间的关联、实现动态内存分配等。