C++指针知识点整理

Posted 小竹_phper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++指针知识点整理相关的知识,希望对你有一定的参考价值。

1、指针的概念

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。

2、运算符 & 和 *

这里&是取地址运算符,*书上叫做“间接运算符”。 &a的运算结果是一个指针,指针的类型是a的类型加个*,指针所指向的类型是a的类型,指针所指向的地址嘛,那就是a的地址。 *p的运算结果就五花八门了。总之*p的结果是p所指向的东西,这个东西有这些特点:它的类型是p指向的类型,它所占用的地址是p所指向的地址。
#include <iostream>
using namespace std;

int main() 
	int num1 = 12;
	int num2;
	int *p;
	int **ptr;
	// &a=num1 的结果是一个指针,类型是 int*,指向的类型是 int,指向的地址是 num1 的地址
	p = &num1;		
	// *p 的类型是int,它所占用的地址是 p 所指向的地址,显然,*p 就是变量 num1
	*p = 24;
	// &p 的结果是个指针,该指针的类型是 p 的类型加个 *,在这里是 int**。该指针所指向的
	// 类型是 p 的类型,这里是 int**。该指针所指向的地址就是指针 p 自己的地址
	ptr = &p;
	// *ptr是个指针,&num2 的结果也是个指针,且这两个指针的类型和所指向的类型是一样的
	*ptr = &num2;
	// *ptr 的结果是 ptr 所指向的东西,在这里是一个指针,对这个指针在做一次 * 运算,结果
	// 就是一个 int 类型的变量
	**ptr = 34;
	system("pause");

打开Visual Studio2012中的quick watch功能:

以上是关于C++指针知识点整理的主要内容,如果未能解决你的问题,请参考以下文章

C++基础入门知识整理与总结

C++基础入门知识整理与总结

C++知识点整理

c++期末知识点快速复习,最全整理

[day1] 初识C++

C++ new申请二维数组整理