当前位置: 首页 > news >正文

1.2(完结)C语言进阶易忘点速记

1.大端存储:高权位数字放在低地址处,低权位数字放在高地指处。(以字节为单位)

2.小端存储:低权位数字放在低地址处,高权位数字放在高地址处。(以字节为单位)

3.变量(char类型)进行运算的时候一定要注意整形提升与截断,最后要注意以什么形式打印出来。

4.v=5.5=101.1=1.011*2^2=(-1)^0*1.011*2^2

                                                         S    M          E

5.浮点数的存储

24101f2f08914ad391f659cc2a642292.jpg

21520fa5d0ca424fbec5972ecc47c93f.jpg 

bc4fb23e8e4745f5800c611620d81695.jpg 

6.数组指针的用法

86f08c5d24564ef59f9f5feba91b8b78.jpg

7.数组指针的类型

5b3f413c0daa453e986e702ceeacead0.jpg

8.指针数组和数组指针

9d45b3265839417fb87bc684bdbbe1cc.png

2fff003223d444f99802e2b92c344509.jpg 

9.一维数组传参

9319b234c4d444ac85f4d562c2a6dd59.jpg

10.二维数组传参

347c405d85934c75a6071ec1c63794e1.jpg

11.二级指针传参

5ddb0bb20b664066b5196e07cbf16f1e.png

12.函数指针调用函数(*可以写也可以不写)

8c0b4483653b4707b7980f20899b609e.jpg

13.两段有趣的代码

3f7e20f00ffd47669ae6e4cf7d20829f.jpg

a940432ef81d4215b7860bb04f22f84e.jpg 

5ef4d00beeea48a0ab91cf4096d62726.jpg 

14.函数指针数组

dcd621bd386c48ffa1eadf1a0d2e6c66.jpg

15.函数指针数组在特定条件下简化switch case语句。

16.函数指针数组指针

742db39c6e484ef6a1a495e8249a7a4b.jpg

17.回调函数。

18.qsort

0e407658879d46c5bbde499304af8b5d.jpg

8cb31b8209504987af3b951471ba760b.jpg 

19.一维数组sizeof的细节问题

a9bc7c48903e453192841e1c55b8fa7a.jpg

 

20.字符数组的细节问题

ecb8b79fa1f544199254251bdd8ac554.jpg

 

21.字符串数组的细节问题

a662bf1b058c4d2fbe55defadb780c9d.jpg

 

22.字符串指针的细节问题

a9d4efb64fda4bb4999c3527a3fdf351.jpg

 

23.二维数组的sizeof的细节问题

89630953d80e4fa4877a518cb7c046c1.jpg

 

24.习题1

3cb065b261b34873bae427a952aadda7.png

 

25.习题2

5a44e0fbe4b4421e8050973ab715c0a9.jpg

 

26.习题3 

afc7e83fc9224bb6817739b0776fb007.jpg

 

27.习题4

d4883c7ebe4d4324b3ce90964d5d751e.jpg

 

28.习题5

6ee1031a22314d659f67d2df0fe7ef39.jpg

29.第7题

971396c1a441430b8d880f22ef521199.png

 

30.第8题

5d9c9e0cb8a2494790335f8ddd37ffbe.jpg

 

31.两个size_t的数相减仍是size_t类型(不会出现负数),注意库函数返回值的使用。

28bd594b1d6e4b1990be9d2012085445.png

1c209b1b4099481cbd8e2b95b1b72692.jpg 

 

32.神奇的函数(strtok)

5cec56c2f76c4ce391a9c635c3bd24a2.jpg

33.strerror(errno要包含头文件errno.h)

0d662021d29b400a975e33471b1b4fac.png

008675ce64b7453988166aa44c1e93eb.jpg 

 

34.perror头文件为stdio.h

e5f6c1f317664b79b2d9c765414fd9e9.jpg

 

35.一些字符函数

694c8b18c894481fb8bf02f2c10de154.jpg

 

36.字母大小写转换函数

e6e0147af15f4aa9b4518f2158bb6319.jpg

089a74a7105c4abbbabf776f9a9060ca.jpg 

 

37.memmove理论上是memcpy的升级版(可以自己拷贝自己)。

38.匿名结构体类型在类型创建好了之后直接创建变量,只能用一次。两个完全相同的匿名结构体类型,编译器认为他们的类型是不一样的。

39.结构体可以乱序初始化。

struct 结构体名字 变量名 = {.结构体内的变量名 = 赋的值, …};

40.结构体的内存对齐。

a.结构体的第1个成员,对齐到结构体在内存中存放位置的零偏移处。

b.从第2个成员开始,每个成员都要对齐到一个对齐数整数倍数。(数组按每个元素大小的计算)(对齐数:结构体成员的自身大小和默认对齐数的较小值,vs中默认对齐数是8,gcc中没有默认对齐数)

c.结构体的总大小,必须是所有成员的对齐数中最大的整数倍。(数组按每个元素大小的计算)(包含嵌套结构体成员中的对齐数)

d.如果结构体中嵌套了结构体成员,要将嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处。

41.offsetof(struct s1, 结构体内的变量);

返回该变量的偏移数。

头文件stddef.h

本质上是个宏。

42.使用结构体的时候为了节省空间,尽量把占用空间小的结构成员放在一起。

43.vs修改默认对齐数

98bad8bc8a3d412bb6ec47ecd84cd707.png

730ec9e61f384b5d95c47910df001eee.png 

 

44.位段,成员类型必须是整型,并且所有成员必须是同一种类型,只能放在结构体里使用。

fc71b29d020a4e418eaa3e805eec8f18.png

03481e6b3a494c3dbd8ddf0f7f557eba.jpg 

4173b5c23c64413db4f903cfcf9dc54b.jpg 

45.枚举常量

0ad085000c2642a0b38cb44f02957e72.png

 

在使用switch case语句的时候,为了增加代码的可阅读性,建议使用枚举常量。枚举常量的大小是4。

46.联合体需要内存对齐。

47.malloc

9a2be3a990eb4a2a8f917da13df70857.png

48.malloc和calloc的区别。

 

e6da4c999c484af188cce57b034bb4a9.png 

49.realloc

 

c83a8acf80c44392a2fddbb85deb6f39.png 

 

50.如果要用realloc实现malloc的功能,第1个参数传入空指针(NULL)。

51.在函数内进行动态内存申请,如果没有释放,一定要写上注释。及时释放内存,总之,free函数一定要及时执行(有的时候虽然有这条语句,但是并没有执行,可能被跳过了)。

52.习题1

8748dda2209e417385d1781a01f304bf.jpg

 

53.习题2

f3809ad79cc049e391ea2257e9f8eca8.png

 

54.柔性数组,c99标准,结构体中的最后一个元素允许是未知大小的数组。(arr[] 或arr[0])

cb9f73fc7fe74e5899b8509310440c01.jpg

f3cca067b2e34902963befb0e257a30e.png 

 

55. C语言文件

8145a4a173b740989a8dc59bb14091ab.jpg

6f399a556ea14ac8902f87467753d845.jpg 

 

如果以只写的形式打开一个有内容的文件,原来的内容会被清空。

56.文件扩展名一定要展开。

57.文件的顺序读写。

c7904cfa46da420eb08ec0c2f4e57090.png

 

写入:fprintf,fputc,fputs,fwrite

读取:fscanf,fgetc,fgets,fread

58.sprintf,把一个格式化的数据,转化成字符串形式,放到一个字符数组中去(把格式化的数据转化成字符串)。

59.sscanf,从一个字符串中还原出一个格式化的数据。

60.fseek

c9b5333b361a45e6958abfd42157d87f.jpg

 

61.ftell

1d42438f094b494e865482a5625f653c.jpg

 

62.rewind

912df7143f384bfb98954bc100c3df18.jpg

 

63.feof

f8d57cb4f04d4a55a995c11314dc7026.jpg

dd592690e09c470ab07e3bc1b59f2ad4.png 

 

64.缓冲区可以被修改大小,(setbuf)了解一下就可以了。

65.文本文件(格式化文件)和二进制文件的区别。

70e7d790540845ae8658483c268dd005.png

66.代码翻译

21733ec0eab84020b4f1de010b936106.jpg

 

67.预定义符号

a8a14850b77a4244a6f989c9edb62613.jpg

 

68.#的作用

2cb21faa54a44fd69c00a383a3fe763f.jpg

efffbf47818241958e1545caac50ddeb.jpg 

 

69.##的作用,把两端的符合拼接成一个。

1a21c42121544cc9985d2ed16e850917.jpg

 

70.宏参数有时带有副作用

45176f0f692a4226b16f3d9a1f7d2642.jpg

 

71.宏可以传类型

2866e1b769224cdfa131cd2c11d79c7b.jpg

 

72.宏和函数的对比

049ca73b1f2648b7a38c748f1d156e5d.jpg

3437a9dc0d674a54be0e6c805097eb4f.jpg 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

1.2(完结)C语言进阶易忘点速记

1.大端存储:高权位数字放在低地址处,低权位数字放在高地指处。(以字节为单位) 2.小端存储:低权位数字放在低地址处,高权位数字放在高地址处。(以字节为单位) 3.变量(char类型)进行运算的时候一定要注意整形提升与截断&#xff0…...

雅思经验(十一)

写作:WRITINGTASK 2Governments should spend money on railways rather than roads.To what extent do you agree or disagree with this statement?Give reasons for your answer and include any relevant examples from your own knowledge or experience.思路…...

C++中的智能指针

1.RAII 与引用计数了解 Objective-C/Swift 的程序员应该知道引用计数的概念。引用计数这种计数是为了防止内存泄露而产生的。 基本想法是对于动态分配的对象,进行引用计数,每当增加一次对同一个对象的引用,那么引用对象的引用计数就会增加一次…...

LSTM已死,Transformer当立(LSTM is dead. Long Live Transformers! ):下

2017 年,Google 在论文 Attention is All you need 中提出了 Transformer 模型,其使用 Self-Attention 结构取代了在 NLP 任务中常用的 RNN 网络结构。而且实验也证明Transformer 在效果上已经完败传统的 RNN 网络。Transformer 的整体模型架构如下图所示。尽管它看起来还是很…...

OJ万题详解––[NOIP2004 提高组] 合并果子(C++详解)

目录 题目 分析 参考代码 题目 题目描述 一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的…...

MySQL-字符集和比较规则

在计算机中只能存储二进制数据,那该怎么存储字符串呢?当然是建立字符与二进制数据的映射关系 了,建立这个关系最起码要搞清楚两件事: 界定清楚字符范围:需要把哪些字符映射成二进制数据?编码与解码&#x…...

微搭低代码从入门到精通12-网格布局

开发小程序首要的就是考虑布局的问题,我们在以前的版本只能选择普通容器结合图片和文本组件来构建页面。 使用通用组件布局也可以,但有个问题是你要先学习CSS,要懂布局的概念,比如需要知道啥是flex布局,然后还得熟悉每…...

【c语言】二叉树

主页:114514的代码大冒险 qq:2188956112(欢迎小伙伴呀hi✿(。◕ᴗ◕。)✿ ) Gitee:庄嘉豪 (zhuang-jiahaoxxx) - Gitee.com 引入 我们之前已经学过线性数据结构,今天我们将介绍非线性数据结构----树 树是一种非线性的…...

六、Java框架之SpringBoot

黑马课程 文章目录1. SpringBoot入门1.1 SpringBoot入门案例步骤1:创建SpringBoot项目高版本springboot常见错误步骤2:创建BookController步骤3:启动服务器并运行程序pom.xml示例1.2 官网创建SpringBoot1.3 SpringBoot工程快速启动问题导入打…...

「Python|环境安装|Windows」如何在Windows上安装Python环境?

本文主要介绍如何在Windows上安装Python,帮助初学者或者非程序员伙伴快速搭建可以运行python代码的环境。 文章目录安装python做一点小配置验证python如何安装指定版本的python编程语言的环境搭建一直是学习编程的第一道门槛。 对于如何在Linux系统上安装指定版本的…...

人工智能轨道交通行业周刊-第33期(2023.2.6-2.12)

本期关键词:高铁激光清洗、高铁确认列车、无线通信系统、推理服务优化、量子信息技术 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟V…...

五分钟看懂Java字节码:极简手册

字节码新手很容易被厚厚的 JVM 书籍劝退,即使我看过相关书籍,工作真正用到时也全忘了,还得现学。 等我有了一定的字节码阅读经验,才发现字节码其实非常简单,只需要三步就能快速学会: 先了解 JVM 的基本结…...

C++ 类与对象(下)

✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;C &#x1f525;<3>创作者&#xff1a;我的代码爱吃辣 ☂️<4>开发环境&#xff1a;Visual Studio 2022 &#x1f4ac;<5>前言&#xff1a;C类与对象的收尾工作&#…...

Java基础——I/O

一、异常 异常是程序中可能出现的问题&#xff0c;它的父类是Exception。异常分为两类&#xff0c;编译时异常、运行时异常。 编译时异常&#xff1a;没有继承RuntimeException的异常&#xff0c;直接继承于Exception。编译阶段就会错误提示。运行时异常&#xff1a;RuntimeE…...

关于@hide的理解

在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler&#xff0c;但是我们不可能调用到它。因为这个方法用hide注释了 /*** return a shared {link Handler} associated with this thread* hide*/NonNullpublic Handler getT…...

使用python加密主机文件几种方法实现

本文主要介绍了使用python加密主机文件几种方法实现&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧数据加密是一种保护数据安全的技术&#xff0c;通过对数据进行编…...

西湖论剑 2023 比赛复现

WEB real_ez_node 在 route/index.js 中&#xff1a; router.post(/copy,(req,res)>{res.setHeader(Content-type,text/html;charsetutf-8)var ip req.connection.remoteAddress;console.log(ip);var obj {msg: ,}if (!ip.includes(127.0.0.1)) {obj.msg"only for…...

微信小程序更换管理员/重置管理员

方式1&#xff1a; 首先进入微信公众平台官网进入并登录后在管理中找到成员管理选项找到管理员点击后方的修改选项需要使用原管理员的微信进行扫码验证扫码后在手机上确认绑定新管理员&#xff0c;注意&#xff1a;如果是个人账号不可以更改成其他人。 方式2&#xff1a;原管…...

企业进存销管理系统

技术&#xff1a;Java、JSP等摘要&#xff1a;随着当今世界计算机技术的飞速发展&#xff0c;计算机在企业管理中应用的普及&#xff0c;利用计算机实现企业进销存管理势在必行。本系统结合公司实际的进销存制度&#xff0c;通过对本公司的供应商、客户、商品、进货、销售、进销…...

C++入门

变量变量创建的语法: 数据类型 变量名 变量初始值;int a 10;cout << a << endl;常量作用:用于记录程序中不可更改的教国C定义常量两种方式1).#define 宏常量:#define 常量名 常量值通常在文件上方定义。表示一个常量2).const 修饰的变量const 数据类型 常量名 常…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

大数据驱动企业决策智能化的路径与实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;数据驱动的企业竞争力重构 在这个瞬息万变的商业时代&#xff0c;“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...

Python爬虫(52)Scrapy-Redis分布式爬虫架构实战:IP代理池深度集成与跨地域数据采集

目录 一、引言&#xff1a;当爬虫遭遇"地域封锁"二、背景解析&#xff1a;分布式爬虫的两大技术挑战1. 传统Scrapy架构的局限性2. 地域限制的三种典型表现 三、架构设计&#xff1a;Scrapy-Redis 代理池的协同机制1. 分布式架构拓扑图2. 核心组件协同流程 四、技术实…...