【快速学】指针是什么?指针常量、常量指针是什么?(C++)
0、先上总结
- 指针是什么?指针是个数据类型。你可以定义一个指针变量,它里面存储的是个地址
- 如
int a=3;,定义了一个int类型的变量a,值为3,它在内存中的地址为&a - 同理,
int *b=3;,定义了一个int*类型的变量b,值为3,它在内存中的地址为&b - 进一步,
int *c=&a;,定义了一个int*类型的变量c,值为&a,它在内存中的地址为&c - 指针占多大内存空间?
- 指针变量占用的内存空间大小根据所使用的操作系统及编译环境而定
- 一般而言,计算机是几位,则指针大小就是几位,如我用的是64位,则指针就占64位(8字节)空间
- 如
- 指针常量是个常量,该常量的值是一个指针类型的值!它不能被修改
- 它可以指向一个变量,此时可以通过它修改变量的值
- 它可以指向一个常量,此时不可以通过它修改变量的值
- 常量指针是个指针。它指向一个常量,不能通过它求出修改那个常量。(指针是变量,它是个指针,故它的值可以被修改)!
- 它可以指向一个变量,此时不可以通过它修改变量的值
- 但可通过变量本身修改变量的值
- 它可以指向一个常量,此时不可以通过它修改变量的值
- 它可以指向一个变量,此时不可以通过它修改变量的值
1、指针常量
指针常量声明格式(做题时看到*放在const的前面即可判定)
int a;
//指针常量声明格式
int *const p = &a; //*放在const的前面(左侧)
//记忆:看“指针常量”这四个字,指针在常量前面,故*放在const的前面
int arr[10];//数组名arr就是一个指针常量
指针常量是一个指针类型的常量,上面的p是一个指向int类型的指针,p不可以被赋值、修改(因为它是常量)
数组名就是一个指针常量
2、常量指针
常量指针声明格式(做题时看到const放在*的前面即可判定)
int a;
//指针常量声明格式
const int * p = &a; //const放在*的前面(左侧)
//记忆:看“常量指针”这四个字,常量在指针前面,故const放在*的前面
【快速学】指针是什么?指针常量、常量指针是什么?(C++)的更多相关文章
- c/c++ 函数、常量、指针和数组的关系梳理
压力才有动力,15年中旬就要准备实习,学习复习学习复习学习复习学习复习……无限循环中,好记性不如烂笔头……从数组开始,为主干. c 的array由一系列的类型相同的元素构成,数组声明包括数组元素个数和 ...
- C语言常量与指针
C语言功能强大而丰富,还表现在const与指针的结合使用上,对不同的问题,它提供不同的保护,特别有用的是指向常量的指针 本文地址:http://www.cnblogs.com/archimedes/p ...
- 常量指针(const X*)和指针常量(X* const)
const X* 类型的指针(指向常量的指针),此指针的地址是一个变量,是可以修改的:但其所指向的内容是常量,是不可以修改的. 例如: 1: char name[5] = "lisi&quo ...
- C++指向常量的指针和常指针
C++指向常量的指针和常指针 指向常量的指针 通常情况下,可以通过指针去修改指针指向的内容.但是在某些情况下,只希望通过指针去访问指针指向的内容,不想修改.比如只想通过树根结点的指针去遍历输出树中所有 ...
- 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)
[转]作者:xwdreamer 出处:http://www.cnblogs.com/xwdreamer 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &am ...
- C和C指针小记(六)-基本声明、指针声明、typedef 、常量、作用域、链接属性、存储类型、static
1.变量的声明 声明变量的基本形式: 说明符号(一个或者多个) 声明表达式列表 说明符 (specifier) 包含一些关键字,用于描述被声明的标识符的基本类型,它也可用户改变标识符的缺省存储类型和作 ...
- 常量指针-指向常量的指针,指针常量-指针本身是常量,常量-不能更改值的常量,数组指针-是指针int (*p)[n] 指针数组-是数组int *p[n]
1.常量指针 定义:具有只能够读取内存中数据,却不能够修改内存中数据的属性的指针,称为指向常量的指针,简称常量指针. 声明:const int * p; int const * p; 注:可以将一个常 ...
- const指针和指向常量的指针
先看下面六种写法: . const int p; . const int *p; . int const* p; . int * const p; . const int * const p; . i ...
- C 指针常量 和常量指针 指向常量的指针常量的使用
#include <stdio.h> /* 指针常量 和常量指针 指向常量的指针常量 */ int main() { int a = 100; int b =200; int* const ...
- 指针常量&常量指针&指向常量的指针常量
搞不懂不吃晚饭 (1)指针常量 指针常量是一个常量,但是是指针修饰的. 格式:int * const p; 例如 int a, b; int * const p = &a;//指针常量 //分 ...
随机推荐
- pyinstaller打包后运行提示“No module named 'PyQt5' "
记录遇到的一个很傻的问题 脚本用到了PyQt5模块,安装成功脚本可以正常运行,但是使用pyinstaller 打包后,运行 exe文件提示 No module named 'PyQt5' 原因: 因为 ...
- Intel与AMD之间的故事
本人中文作文水平仅仅达到小学一年级,通俗易懂,不会术语,对于外行人特别友好,内行人不吝赐教,多谢指正! 背景:Intel(CPU制造商大哥),AMD(二哥,yes) 诺伊斯(Intel创始人,集成电路 ...
- oracle 导出导入表 不到出指定表
导出多个表 exp LSXYYSZHMRMS/******@PK99SERVICE file=d:\fuhcx.dmp tables=(fhcxgxxx,fhcxjcxx,fhcxlbxx,fhcx ...
- TPS,RPS,QPS,RT的区别
以下是对性能中各项指标的解释: 1.TPS:Transaction Per Second,服务器每秒处理事务数,是衡量系统性能的一个非常重要的指标. 计算公式:TPS= 总请求数 / 总时间. ...
- 8.class 类
一.基础语法 class 类名 { } 二.类的属性 基础语法: class 类名 { 属性名: 数据类型 = 属性值; contructor(形参名: 数据类型) { this.属性名 = 属性值; ...
- CCIE DC Multicast Part 4.
Hi Guys, Part 4 of my CCIE DC multicast article is presented below, in this article we are going to ...
- Blockchain for Edge of Things: Applications, Opportunities, and Challenges
物联网:物联网设备,如传感器和手机,负责从物理环境中生成或收集数据,然后通过接入点或基站传输到附近的边缘服务器(ES).具有某些资源的物联网设备(例如,智能手机和笔记本电脑)可以充当移动区块链实体进行 ...
- BGP知识点总结(一)
动态路由协议(工作范围) 1.自治系统内部的路由协议-IGP:工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换(ospf,rip,isis) 2.自治系统之间的路由协 ...
- vue3.0 dialog无法弹出的问题
最近用elementui做了点东西,一直感觉挺好的,但是嫖的别人的框架是vue3.0,这次的dialog就弹不出来了. 经过多方查证,发现vue3.0的element为了适配移动端升级为element ...
- 2.4G收发一体芯片NRF24L01P跟国产软硬件兼容 SI24R1对比
超低功耗高性能 2.4GHz GFSK 无线收发器芯片Si24R1Si24R1 是一颗工作在 2.4GHz ISM 频段,专为低功耗无线场合设计,集成嵌入式ARQ 基带协议引擎的无线收发器芯片.工作频 ...