#include <iostream>
#include <string>
using namespace std;
int main()
{
int a = 123;
float b = 3.14;
char c = 'C';
unsigned long d = 19930809;
string e = "I love mimi";
cout << "a的值是:" << a << "\n";
cout << "b的值是:" << b << "\n";
cout << "c的值是:" << c << "\n";
cout << "d的值是:" << d << "\n";
cout << "e的值是:" << e << "\n";
int *aPointer = &a;
float *bPointer = &b;
char *cPointer = &c;
unsigned long *dPointer = &d;
string *ePointer = &e;
*aPointer = 456;
*bPointer = 4.13;
*cPointer = 'F';
*dPointer = 19940630;
*ePointer = "Mimi love me";
cout << "a的值是:" << a << "\n";
cout << "b的值是:" << b << "\n";
cout << "c的值是:" << c << "\n";
cout << "d的值是:" << d << "\n";
cout << "e的值是:" << e << "\n";
return 0;
}
注意:
1. 一定要牢记的事实:指针所保存的是内存中的一个地址,它并不保存指向的数据的值本身。因此,务必确保指针对应一个已经存在的变量或者一块已经分配了的内存。
2. 星号有两种用途
- 第一种是用于创建指针:
int *myPointer = &myInt;
- 第二种是对指针进行解引用:
*myPointer = &3998;
3. C++允许多个指针有同样的值:
- int *p1 = &myInt;
- int *p2 = &myInt;
4. C++支持无类型(void)指针,就是没有被声明为某种特定类型的指针,例如:
- void *vPointer
注:对于一个无类型指针进行解引用前,必须先把它转换为一种适当的数据类型。