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++指针知识点整理的主要内容,如果未能解决你的问题,请参考以下文章