指针进阶(3)

news2025/1/21 5:49:00

tips

1. sizeof的返回类型时size_t。size_t就是为sizeof量身定做的,size_t就是unsigned int

2. strlen碰到\0会停下来,而sizeof则不会,也将其算作一个字符

3. 要注意这么两对东西:

scanf()与gets():     \0  ,  \n  ,  空格

sizeof()与strlen():     \0  ,  转义字符 

4. strlen碰到\0就会停下来,而sizeof就没有停下来这一说法

5.  

sizeof 只关注占用内存空间的大小,单位是字节,不关心内存中存放的是什么
sizeof 是操作符
strlen是求字符串长度的,统计的是\0之前出现的字符个数,一定要找到\0才算结束,所以可能存在越界访问的
strlen是库函数

6. sizeof(数组名),数组名表示整个数组。计算的是整个数组的大小,单位是字节。&数组名,数组名表示整个数组。取出的是整个数组的地址。除此之外,所有的数组名都是数组首元素的地址

7. 对于大小端字节序存储,不要哪壶不开提哪壶,它仅仅只是大于一个字节的数据在内存当中临时存储的“各肢解部分”的顺序问题,注意:是以字节为基本单位。但是有可能会影响指针的解引用操作.但是无论是大端字节序存储还是小端字节序存储,归根到底都是暂时存储在内存当中,你用指针解引用访问时可以有时访问比较细致的话需要注意,但是当数据真正又被起用时(如%x打印数据),一切都要恢复正常的字节序

8.  将二维数组以矩阵形式看待或者在内存当中线性存储的形式来看待都是没有问题的

9. %p打印地址。%x打印是打印十六进制的整数

10. sizeof计算大小时是根据类型推断的,不会真实去访问空间的,压根就不会到空间里面去看,不会形成什么越界访问等等,而且,sizeof括号内部的表达式是不会影响外面的,其实是不参与运算的,不会实操一遍

 

11.  

12. C语言中,表达式有2个属性:如:2+3,值属性:5;类型属性:int

13. 两个指针相减为两者之间的元素个数

14.  

15.  

16. 比如说scanf输入字符串的时候,你输入1,但是编译器不会把它当作数字1来对待,会把它当作字符1来对待

17.  字符其实在电脑里面存的是ACSII码,电脑才不认识什么字符呢

18.  客观外在的数与电脑里面的二进制补码在运算上吻合,但两者在数值上不一定吻合,将补码转化为原码才与客观外在的数值吻合(一个例子就是%d打印)

19.  要得到一个数n进制形式下的最后一位,就把该数%n,要得到丢去最后一位的那个形式,就把该数/n 

20.  关于原码补码新的认识: 

21. ++与--操作符肯定是把我自己永久性地改了,是有副作用的

练习1 

  

附:

练习2 

附:

练习三 

附:

练习4 

附:

练习5 

附:

练习六 

附:

练习七 

  

附:

练习8

附:

练习9

附:

练习10

附:

练习11 

附:

练习12 

附:

练习13

附: 

练习14 

 

附: 

练习15

 

附:

 

练习16 

附:

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

<TCP网络编程>——《计算机网络》

目录 1.TCP网络程序 1.1 TCP socket API 1.1.1 socket(): 1.1.2 bind():​ 1.1.3 listen(): ​ 1.1.4 accept(): 1.1.5 connect(): 2. 封装 TCP socket 2.1 实现一个简单的英译汉的功能 3.简单的TCP网络程序(多进程版本) 4. 简单的TCP网络程序(多线程版本) 5. 线程…

SpringBoot自定义MessageConvert

目录 前言 原理 实现 拓展 前言 对于页面携带的请求头中的AcceptSpringBoot有对应的10种MessageConvert可以支持写出对应的媒体类型,比如application/xml、application/json…… 我们还可以通过向容器放入一个WebMvcConfigurer 实现定制化SpingMVC&#xff0…

Android 深入系统完全讲解(7)

7 如何调试代码,JNI,Framework,APP 调试技巧是我在每入职一家新公司,都会给大家分享的。在 MTK 官方培训还是需要编译才能调试的时候,我无意中调试 MMS 代码,发现跟进了系统代码,调试了相关的匹配搜索子串代…

Java多线程(一)——Hotspot的锁( Synchronized)

1. 锁的概念 Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等 2. Synchronized的基本使用 synchronized是Java提供的一个并发控制的关键字。主要…

【LINUX】工具篇--gcc的使用

我们知道,在程序翻译的过程中一般会经过四个步骤预处理头文件展开,条件编译,宏替换,去注释编译C语言代码--->汇编代码汇编汇编代码--->可重定向目标二进制文件(只把自己写的函数形成二进制文件,此阶段无法被执行…

Vue3一学就会系列:02 模板语法与计算属性

系列文章目录 Vue3一学就会系列:01 vue3安装与搭建项目 文章目录系列文章目录文本插值html 插入属性绑定常用指令计算属性总结文本插值 最基本的数据绑定形式是文本插值,它使用的是“Mustache”语法 (即双大括号): 知识点: {{}}…

(考研湖科大教书匠计算机网络)第一章概述-第二节:三种交换方式(电路交换、报文交换和分组交换)

文章目录一:电路交换(Circuit Switching)二:分组交换(Packet Switching)三:报文交换(Message Switching)四:三种交换方式对比(1)概述&…

一个自定义的html5视频播放器

// 功能:// 1.视频的播放与暂停(图标变化)// 2.总时间的显示// 3.当前时间的显示(进度)// 4.进度条的显示// 5.跳跃播放// 6.全屏<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport"…

利用决策树学习基金持仓并识别公司风格类型

摘要与声明 1&#xff1a;本文主要利用决策树学习基金持仓并反向推理出一套更受市场认可的风格划分标准&#xff0c;最后借助该模型识别公司所属的风格类型&#xff1b; 2&#xff1a;本文主要为理念的讲解&#xff0c;模型也是笔者自建&#xff0c;文中假设与观点是基于笔者…

JVM的内存配置参数

VM的结构问题&#xff1a;JVM分两块&#xff1a;PermanentSapce和HeapSpace&#xff0c; HeapSpace 【old new{Eden&#xff0c;from&#xff0c;to}】 PermantSpace主要负责存放加载Class类级别的class本身&#xff0c;method&#xff0c;field等反射对象&#xff0c;一般不…

重磅指挥棒!2023年国资委央企指标考核体系从两利四率到一利五率变化解读

前几天&#xff0c;2023年的第三个工作日&#xff0c;国资委召开了中央企业负责人会议&#xff0c;提出了优化中央企业经营考核指标体系的六个指标 —— 一利五率&#xff0c;目标是一增一稳四提升。一增&#xff0c;就是确保利润总额增速高于全国GDP增速。一稳&#xff0c;资产…

小程序学习(1)-------小程序的结构及作用

获取APPID 开发-开发管理->开发设置&#xff08;新建项目时需要输入appid&#xff09; 小程序的文件结构 pages 用来存放所有小程序的页面 utils 用来存放工具性质的模块&#xff08;例如&#xff1a;格式化时间的自定义模块&#xff09; app.js 小程序项目的入口文件 ap…

【Redis】分别从互斥锁与逻辑过期两个方面来解决缓存击穿问题

文章目录前言一.什么是缓存击穿二.基于互斥锁解决缓存击穿三.基于逻辑过期解决缓存击穿四.接口测试五.两者对比前言 身逢乱世&#xff0c;未雨绸缪 一.什么是缓存击穿 说直白点&#xff0c;就是一个被非常频繁使用的key突然失效了请求没命中缓存&#xff0c;而因此造成了无数…

使用electron将vue项目打包成exe

文章目录一、前言二、实现方法1.跑通示例代码 electron-quick-start<1>clone示例代码<2>进入项目根目录&#xff0c;下载依赖<3>测试运行2.打包自己的 vue 项目3.将vue项目整合到示例代码中打包exe<1>将打包好的 dist 文件夹复制到示例代码 electron-q…

sklearn之OPTICS聚类

文章目录简介sklearn实现cluster_optics_dbscan简介 OPTICS算法&#xff0c;全称是Ordering points to identify the clustering structure&#xff0c;是一种基于密度的聚类算法&#xff0c;是DBSCAN算法的一种改进。 众所周知&#xff0c;DBSCAN算法将数据点分为三类&#…

ResNet精读(2)

FLOPs &#xff1a;整个网络要计算多少个浮点运算 卷积层的浮点运算等价于 输入的高*输入的宽*通道数*输出通道数再乘以卷积核的高和宽再加上全连接的一层 我们发现训练的时候的精度是要比测试精度来的高的在一开始&#xff0c;这是因为训练的时候用了数据增强 使得训练误差…

2022年莱佛士大盘点 ,设计的种子遍地开花!

2022似乎过得尤其之快&#xff0c;反复的居家隔离和线上网课&#xff0c;似乎给2022蒙上了一层雾蒙蒙的灰色。但2022总还给我们留下了些东西&#xff0c;在莱佛士设计学院&#xff0c;我们共同见证了梦想的种子在设计的各个领域遍地开花。现在我们一起来看看2022年莱佛士学生们…

广义表——LISP的基石

线性表中存放的是同一类型的元素&#xff0c;而广义表是线性表的推广&#xff0c;即广义表中除包含类型相同的元素外&#xff0c;还可以包含具有其自身结构的元素。在人工智能领域使用十分广泛的 LISP语言中&#xff0c;广义表是一种基本数据类型&#xff0c;LISP 语言中的数据…

Vue3案例-todoMVC-pinia版 (可跟做练手)

列表展示功能 &#xff08;1&#xff09; 在main.js中引入pinia import { createApp } from vue import App from ./App.vue import { createPinia } from pinia import ./styles/base.css import ./styles/index.cssconst pinia createPinia() createApp(App).use(pinia).m…

Spring源码学习~11、Bean 的加载步骤详解(二)

Bean 的加载步骤详解&#xff08;二&#xff09; 一、循环依赖 1、什么是循环依赖 循环依赖就是循环引用&#xff0c;即两个或多个 bean 互相之间持有对方&#xff0c;如下图&#xff1a; 循环引用不是循环调用&#xff0c;循环调用是方法之间的环调用&#xff0c;循环调用是…