C++指针初始化

C++指针初始化教程

指针 变量与普通 变量 一样,在定义的时候,可以直接初始化,不过指针变量只能初始化为变量的地址,不可以直接初始化为值。

C++指针变量初始化

语法

type *pName = &varName;

参数

参数 描述
type 指针变量的类型。
pName 指针变量名。
varName 指针要指向的变量。

说明

我们定义了一个指针变量 pName,其类型为 type,它指向了变量 varName。

案例

C++指针变量初始化

初始化指针变量

#include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; int a = 2021; int *pa = &a; double d = 1099; double *pd = &d; cout << "*pa = " << *pa << " pa = " << pa << endl; cout << "*pd = " << *pd << " pd = " << pd << endl; return 0; }

程序运行后,控制台输出如下图所示:

04_C指针初始化.png

我们分别定义了两个指针变量,并分别初始化为了两个变量的地址,此时,我们访问指针变量所保存的地址以及指针变量指向的变量的值,都可以正常访问。

C++指针变量初始化

指针变量不可以初始化为具体的值

#include <iostream> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; int *pa = 1024; cout << "*pa = " << *pa << " pa = " << pa << endl; return 0; }

程序运行后,控制台输出如下图所示:

05_C指针初始化.png

这次,我们直接将指针变量初始化为了一个具体的值,而不是变量的地址,此时我们程序运行出错,这是因为,指针变量只能保持变量的地址,而我们的系统中没有 1024 这个内存地址,所以程序报错。

因此,在使用指针时,我们要切记,一定要使用指针保存变量的地址不是具体的值。

C++指针初始化教程

指针变量与普通变量一样,在定义的时候,可以直接初始化,不过指针变量只能初始化为变量的地址,不可以直接初始化为值。