有关指针和C语言中的常量
常量类型(五种):
字面常量(2,3,6....) ; enum 定义的枚举常量;
字符常量('a','b'....) ; const 定义的常变量;
#define 定义的 宏常量.
' * ' 的功能:
1): * 在两个变量或常量之间 => 表示乘法 (a*b,a*10 ...);
2):* 左边是类型,右边是变量时 => 表示声明 声明该变量为一个指针变量;
3)* 左边为空右边为指针变量时 => 表示解引用(指向) .
指针相关:
1) 定义指针变量时,系统会将*和变量相结合 =>(int* p,r;//定义了一个指针变量p,一个整形变量);
2) 定义/使用指针时要注意(野指针\空指针\失效指针)尤其是野指针!因此要将指针初始化(*p=NULL);
3) 指针大小在32位操作系统占4字节,64位操作系统占8字节;
4) 使用指针变量,要明确指针本身的值(存储的是地址) , 以及指针指向的值(指针变量所指的实体)(解引用);
5) 指针类型决定了指针的加一的能力.(p = p + 1 => p = p + sizeof(typename)*1);
6) 指针类型决定了指针对内存操作的能力.
const 和指针
const int *p = &a const 在 * 的左边,const 修饰的是指针的指向能力.等价于 int const *p = &a,即不可更改*p的值,但是可以更改p本身的值: p=&b true,但*p = 200 false
int * const p =&a const 在 * 的右边,const 修饰的是指针自身的值,即不可更改p本身的值,但可以更改*p的值 p=&b false,但*p = 200 true.
有关指针和C语言中的常量的更多相关文章
- C语言中字符串常量到底存在哪了?
常量存储总结局部变量.静态局部变量.全局变量.全局静态变量.字符串常量以及动态申请的内存区 1.局部变量存储在栈中2.全局变量.静态变量(全局和局部静态变量)存储在静态存储区3.new申请的内存是在堆 ...
- 收藏:C语言中字符串常量到底存在哪了?
来源:https://www.cnblogs.com/jaysir/p/5041799.html 常量存储总结局部变量.静态局部变量.全局变量.全局静态变量.字符串常量以及动态申请的内存区 1.局部变 ...
- Go语言中的常量
1 概述 常量,一经定义不可更改的量.功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率.从语法的角度看,使用常量可以保证数据,在整个运行期间内,不会被更改.例如当前处理器的架构 ...
- 004_go语言中的常量
代码演示 package main import "fmt" import "math" const s string = "constant&quo ...
- Rust语言中的常量,变量,运算符,数据类型
简单练练, 夏天太热. const MAX_POINTS: u32 = 100_100; fn main() { let mut x = 5; let y = 5; let y = y + 1; le ...
- C语言中的指针学习(小黑板)
指针是C语言中的精华所在,也是C语言的危险之在,今天又重现温习了一下C语言,做了一下总结. 欢迎批阅. (1)指针的含义指针的本质也是数据类型,它是指向地址的变量.例如: { int a = 10; ...
- *C语言有关指针的变量声明中的几个易错点
转至:http://my.oschina.net/ypimgt/blog/108265 Technorati 标签: 指针, typedef, const, define 我们都知道,至少听说过 ...
- 这样子来理解C语言中指针的指针
友情提示:阅读本文前,请先参考我的之前的文章<从四个属性的角度来理解C语言的指针也许会更好理解>,若已阅读,请继续往下看. 我从4个属性的角度来总结了C语言中的指针概念.对于C语言的一个指 ...
- windev中的内存机制及其与C语言中的内存指针相似性(一)
windev中的内存机制,是初入windev世界必须要越过的一道高山,以下我的理解和经验未必都对,如有错误或遗漏,以后再纠正或补充!另外,以下内容,咱先谈应用,再说对机制的认识和理解. 一.新建表单, ...
随机推荐
- npm init & npx create & yarn create
npm init & npx create & yarn create https://create-react-app.dev/docs/getting-started/#creat ...
- Flutter ColorFiltered 将ColorFilter应用于其子级。
ColorFiltered ColorFilter BlendMode Example <summary>main.dart</summary> import 'package ...
- vue动态添加当前事件下的class
html部分<div class="star"> <span v-for="(item,index) in 5" @click="c ...
- app启动速度怎么提升?
简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...
- .NET Core Swagger 的分组使, 以及相同Action能被多个分组公用,同时加载出尚未分组的数据出来
1.本文章参考 点击链接跳转 改写的 一对多分组模式.需要一对一的可以参考 2.本文主要讲的是 一对多 分组公用, 同时把尚未分组的加载出来 3.效果演示GIF图: 具体操作代码如下: 1.在项目创建 ...
- Java 队列同步器 AQS
本文部分摘自<Java 并发编程的艺术> 概述 队列同步器 AbstractQueuedSynchronize(以下简称同步器),是用来构建锁(Lock)或者其他同步组件(JUC 并发包) ...
- 详解JavaScript中的原型
前言 原型.原型链应该是被大多数前端er说烂的词,但是应该还有很多人不能完整的解释这两个内容,当然也包括我自己. 最早一篇原型链文章写于2019年07月,那个时候也是费了老大劲才理解到了七八成,到现在 ...
- Zeebe服务学习3-Raft算法与集群部署
1.背景Zeebe集群里面保证分布式一致性问题,是通过Raft实现的,其实这个算法用途比较广泛,比如Consul网关,也是通过Raft算法来实现分布式一致性的. 首先简单介绍一下Raft: 在学术界, ...
- LeetCode-在受污染的二叉树中查找元素
在受污染的二叉树中查找元素 LeetCode-1261 /** * 给出一个满足下述规则的二叉树: * root.val == 0 * 如果 treeNode.val == x 且 treeNode. ...
- 在 .NET Core 中应用六边形架构
在本文中,您会看到一个Web API应用的模板,在.NET Core 中应用了六边形架构,并且里面包含了一些基础功能. 介绍 这是一个模板项目,里面集成了一些必备的基础功能,当我们需要开发一个新项目时 ...