C语言之补漏(1)

【C语言基础一百题1】C语言基础100题全新整理版 最后一个寒假,想复习一下c语言的基础知识,正好也做一个查缺补漏的工作,于是找个C语言基础100题作为练习。 但是原来的100题涉及很多绘图的问题,而且有些题目过于混乱并且在摘记过程中没有经过加工,所以我自己对原来的题目做了一下调整并且删掉了原来的绘图的题目,在原来题目涉及不多的地方增加了新的题目,新题目多取自谭老的《C语言程序设计》完全可以在VC++6.0环境下运行,100道题目,基本涉及到C语言知识点的所有方面。 虽然都是基础的题目,但在整个总结的过程中也发现了自己很多问题,自我解决问题的过程也是自己 阅读详情
  1. typedef

1.define与typedef区别?
相比起宏定义的直接替换,typedef是对类型的封装(通俗说就是对类型起一个别名)

2.typedef可以给多个别名
typedef int tint,*tint;
3.复杂数据类型
int (*p)[3];
typedef int (*ptr_to_array)[3];


int (*fun)(void);
typedef int (*ptr_to_fun)(void);


4.与结构体结合
typedef struct Node
{
	int date;
	struct Node *next;
}Node,*List;
  1. 共用体或联合体

1.共用体的所有成员共享同一个内存地址
2.使用时赋值,不能在一起赋值后再用
3.长度:
4.定义变量与结构体相同
5.union可以没有名字


union  共用体名称
{
	共用体1;
	共用体2;
	共用体3;
	...
}
  1. 枚举
    枚举的值在编译时确定,中间代码不可改变。
  2. 位域
    位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。
unsigned int,int,char,unsigned char,支持位域
struct Test
{
	unsigned int a:1;
	unsigned int b:1;
	unsigned int c:2;
};	
struct Test test;
a占1个bit,b占1个bit,c占2个bit。sizeof(test)为4个字节,因为存在位对齐(int)
程序员实战:DINOv3 权重文件下载与本地化部署全流程指南 Meta开源的DINOv3视觉大模型凭借70亿参数和17亿图像训练,在语义分割、目标检测等任务表现优异。本文详解预训练权重的获取渠道、校验方法和加载实践。开发者可通过HuggingFace或GitHub获取不同版本权重,包括针对服务器端的ViT系列和边缘设备的ConvNeXt系列。文章提供MD5校验代码确保文件完整性,并给出PyTorch和Transformers两种加载方式。特别强调7B模型需16GB GPU内存,建议根据硬件条件选择合适版本,如边缘设备使用ConvNeXt-Tiny。最后指出DINOv3 阅读详情

相关推荐

python知网爬虫论文pdf下载+立即可用(动态爬虫)

python实现动态爬虫知网论文,搜索+自动翻页+下载 收集数据利器

Braylon的博客 5379

结构体中的位定义

1.结构体位定义 在工作中,经常遇到按位(bit)定义结构体 的情况。由于一个字节有8个位,这时,程序员往往对bit的位置产生困惑。现在给出2个例子,来说明位的定义次序。 第一个例子是将unsigned char 分成8个比特。 #pragma pack(push,1) typedef struct ST_TEST { unsigned char ucA:1; unsigned char ...

la_fe_的博客 9333

无人机通信电台--XBee-PRO 900HP (S3B)

XBee PRO S3B也称为XBee-900HP无线模块,它是一款工作在频段900~928MHz之间,基于FHSS跳频技术的远距离无线数传电台核心模块。常用型号如下: 类别 型号 开发套件 XKB9-DMT-UHP XBee-PRO 900HP (S3B) DigiMesh模块,200Kbps,软天线 XBP9B-DMWT-002 XBee-PRO 900HP (S3B)...

low米的博客 4505

结构体bit位定义

这里写自定义目录标题KEIL工程中进行寄存器定义示例 KEIL工程中进行寄存器定义 示例 // reg typedef struct { u_int32 aaa :8; // bit[ 0~7] u_int32 bbb :6; u_int32 ccc :4; u_int32 ddd :8; u_int32 eee :3; u_int32 fff :3; //bit[29~31] } M_REG; 上述定义了一个32bit的寄存器结构体,并对每一bit进行了声明,从上到下从bit[0]

lwlwinner的博客 2251

【学长笔记】点亮 STM32F411CEU6 板载 LED —— 入门级教程

本文提供了STM32F411CEU6开发板(Black Pill)点亮LED的完整教程。详细介绍了硬件信息(板载LED连接PC13,低电平有效)、CubeMX配置步骤(GPIO输出模式)、Keil5工程设置及完整代码实现(包含GPIO初始化和系统时钟配置)。教程还涵盖ST-Link下载器连接方法、程序下载步骤(需配合BOOT0按键操作)以及验证程序运行的方法。该教程特别适合STM32初学者,通过简单的LED闪烁示例快速入门STM32开发。

apple_53308981的博客 1320

vivado中出现ERROR: [Labtools 27-2220]检测不出开发板

这个错误可能是由于 Vivado 工具中的 cs_server.exe 文件没有正确安装或者文件路径不正确导致的。你可以尝试以下步骤来。时间: 2023-08-16 12:05:50 浏览: 767。希望以上方法能够帮助你。

qq_40510975的博客 2386

C语言中的位域

有些信息在存储时,并不需要占用一个完整的字节,而只需要一个或几个二进制位即可;比如:在存放一个开关量时,只有0和1两种状态,只需要使用一个二进制位即可存储;为了节省存储空间,C语言提供了一种数据结构,称为”位域”或”位段”;所谓”位域”就是把一个字节中的8个二进制位划分为几个不同的区域,并说明每个区域的二进制位数;每一个位域都有一个位域名,允许程序员在程序中按照位域名进行访问;这样就可以把几个不同...

保持每天的清醒 1787

MSTAR数据集下载地址及处理方法

首先感谢博主冯子材提供下载的百度网盘地址。 在这里为了防止侵权,特此鸣谢,并给出其博客地址。 地址中有MSTAR百度网盘下载地址和需要使用的数据介绍,其中百度网盘中有数据转换工具 https://blog.youkuaiyun.com/taifengzikai/article/details/80600355 工具使用 因为下载得到的数据是二进制文件,需要使用官方提供的工具进行转换,可将其转换为jpeg。 有...

KamenRider 1万+

C_位域

先理解几个概念 1. 大端小端 大端模式:Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 小端模式:Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 2. 字节序 当多个字节组成一个长字(long)时,不同体系结构的cpu会按不同的方法来解释高低字节的顺序,这是字节序。也就是大端小端字节序。 3. bit序 ...

遥夜 1122

STM32_WS2811驱动

STM32的WS2811驱动

健身房 2840

远程桌面(RDP)共享USB设备全攻略:不止Hyper-V,你的加密狗和CH340串口也能远程用

本文详细介绍了远程桌面(RDP)共享USB设备的完整解决方案,包括加密狗和CH340串口设备的远程使用技巧。通过RemoteFX USB重定向技术,用户可以在远程会话中无缝使用本地USB设备,提升工作效率。文章涵盖企业级配置、典型设备实战案例及高级故障排除方法,是远程工作者的实用指南。

weixin_42522964的博客 333

大一C语言查缺补漏1 12.20

/ 解引用 ptr,将 x 的值(10)赋给 y。重新定义标准库函数,那么在该作用域内,原有的标准库函数的确会失去其原有的含义。// ptr 指向 x 的地址。0` 表示在数值前面填充零(而不是空格),以达到指定的最小宽度。在使用任何标准库函数之前,需要在源代码中包含相应的头文件。在定义函数时,需要指定函数的返回类型和参数的数据类型。在程序中使用函数名并传递实际参数来执行已经定义的函数。是执行过程中调用其他函数的函数。16 的平方根是 4。是格式说明符的一部分。

2301_80185446的博客 1705

【WorkBuddy专栏58】腾讯为什么要「自己打自己」——7款AI智能体产品全景对比与「赛马」逻辑深度拆解

【WorkBuddy专栏57】你的左侧空间不是「日任务清单」——工作空间才是 WB 变聪明的核心秘密

AI人人懂 675

大一C语言查缺补漏1 12.21

因为`p`现在指向字符串的结束位置(即结束标记`\0`后面的位置),而`s`指向字符串的开始位置。`char a[] = {0, 1, 2, 3, 4, 5}`是正确的。虽然数组中的元素看起来像整数,但它们实际上被解释为字符编码。C语言的规则,指针会向更高的内存地址移动。让指针向低地址移动,可以使用`p--`形参数组可以不指定大小。各成员所需内存量的总和。在C语言中,索引越界不是语法错误,它输出的结果是一个随机数。因为访问的是未知的内存单元,而我们未知单元里面保存了上面,所以是随机数。昨天一些疑惑解答:

2301_80185446的博客 995

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

c语言赋值加1,C语言补漏(1)--- char到int赋值的一个陷阱

作为一个C的新手(虽然学的第一门语言就是C,可是用C实际开发项目却是最近的事情),对使用C过程中遇到的各类问题、疑惑、知识漏洞进行弥补无疑是非常有必要的,于是决定将每次遇到的知识漏洞写到博客上。今天在写代码的过程中对一个函数进行了重构,函数的用处是将一块内存中的内容打印成16进制表示的字符串;很悲哀的输入的是一个char指针:char* buffer;当调用Format("%02X",*buffe...

weixin_39860757的博客 362

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C语言补漏(1)--- char到int赋值的一个陷阱

作为一个C的新手(虽然学的第一门语言就是C,可是用C实际开发项目却是最近的事情),对使用C过程中遇到的各类问题、疑惑、知识漏洞进行弥补无疑是非常有必要的,于是决定将每次遇到的知识漏洞写到博客上。 今天在写代码的过程中对一个函数进行了重构,函数的用处是将一块内存中的内容打印成16进制表示的字符串;很悲哀的输入的是一个char指针:char* buffer;当调用Format("%02X",*buf...

weixin_34256074的博客 94

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

小浩学c的历程

大家好,我是一名初学c语言的小白,因为不怎么听课,导致c语言可以说是一窍不通。幡然醒悟,决定好好学习。学好c语言为以后的道路做基础。男孩子嘛喜欢打游戏,编程目标以后能自己设计一款游戏。每天抽出1-2小时来学习编程敲写代码,周六日则抽出3小时的时间来学习编程。我打算从基础出发,观看关于c语言编程的视频来填补我以前的漏缺。如果以后有机会,最想去的互联网大厂是腾讯,加油!

m0_73603605的博客 109

大一C语言查缺补漏 12.24

赋值运算符** (`=`、`+=`、`-=`、`*=`、`/=`、`%=`、`=`、`&=`、`^=`、`|=`):赋值运算符的优先级较低,但结合性是从右到左的。**小于** (``、**小于等于** (`=`):关系运算符。3. **乘法** (`*`)、**除法** (`/`)、**模运算** (`%`):这些算术运算符具有相同的优先级。如果循环条件的值为零(假),那么退出循环。变量 `a` 和 `b` 的当前值。

2301_80185446的博客 4683

大一C语言查缺补漏 12.23

0xG`、`0x1H` 或 `0x1g` 都是非法的十六进制常量。例如,`08`、`09` 或 `038` 都是非法的八进制常量。`myNumber123` 作为整型常量是非法的。C程序经过编译后生成目标文件,其文件名的后缀为。回车和空格都可能在视觉上表现为文本中的空白。小数是乘2,用小数*2,取整数,从上往下读。0是假,其余的所有整数都可以作为逻辑中的真。描述特定问题的求解步骤,是指令的有限序列。整数是除以2,然后从下往上读。字母(a~z或A~Z)可行性,确定性,有穷性。算法在有穷的时间内终止。

2301_80185446的博客 2373

C语言补漏

一个在线的C库查询的地址:http://www.cplusplus.com/reference/clibrary/ 可变函数参数的用法 #include #include double arv(int n, ...) { double sum=0; va_list arg; va_start(arg,n); for (int i=0;i<n;i++)

搬砖札记 329

c语言补漏

const定义的只读变量从汇编的角度来看,只是给出了对应的内存地址,而不是像#define一样给出的立即数,所以,const定义的只读变量在程序运行过程中只有一份备份(因为它是全局的只读变量,存放在静态区),而#define定义的宏常量在内存中有若干个部分。代码1这时候编译器对代码进行优化,因为在代码1的语句中,i没有被用作左值(没有被赋值),这时候编译器认为i的值没有发生改变,所以在第一条语句从内存中取出i的值赋值给j后,这个值并没有被丢掉,而是在第二条语句继续给k赋值。//此时并未将N放入内存中。

C1238888的博客 154

C语法补漏

准备开始拾起语法了,规划规划存储器用来存放数据和程序,构成存储器的材料,目前采用 的是半导体和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或者CMOS晶体管或者是磁性材料的存储元,它可存储一个二进制代码,称为比特。8个基本单元存储一个字节,

m0_63752235的博客 1092

C语言之补漏专题

sizeof的执行阶段 sizeof 是编译时计算,不是执行过程中计算。 单引号与双引号 单引号(‘’):被单引号的字符为一个变量,以ASCLL形式存储,占一个字节。 双引号(“”):表示为字符串,char型,存储长度为字符串长度+1,编译器会在末尾加/0 \n \r换行符 windows下换行实际上是 \n \r linux下换行实际上是 \n 两系统的换行上解析不同,所以文件在交互使用时有问...

习惯有你 165

C语言差缺补漏,补充一些容易遗忘忽视的知识点(一)

C语言差缺补漏(一) 看看你有哪些没有注意到的点或者遗忘的知识点 1. 编译流程 编译经历过程 ↓   (选择linux下的编译器才能看到编译过程,例:g++) 编辑器:程序员用来编辑代码的程序 (记事本,VC6.0,vim) ( 此处有一个预处理过程 ) C生成 .i 文件 C++生成 .ii 文件                        

新日暮里の小轩的博客 573

C语言0基础全面教程

最近打算做一件有意义的事情,就是带着大家把C语言从0开始学,0基础都可以学习,我将开设一个专栏C语言0基础全面教程,这个专栏将会涵盖C语言的基础知识点,供大家查缺补漏或者进行学习,当然了我还会提供答疑群,供大家交流文章中的内容。学习计算机基础知识:在学习C语言之前,需要了解计算机的基础知识,包括计算机的组成、操作系统、编译器等相关概念。选择一本好的教材:选择一本好的C语言教材非常重要,建议选择一本系统性强、思路清晰、实例丰富的教材,如《C Primer Plus》、《C语言程序设计》等。

m0_49476241的博客 5170

查缺补漏C语言:缓冲区(缓存)

但是有了缓冲区,就可以将数据先放入缓冲区中(内存的读写速度也远高于硬盘),然后程序可以继续往下执行,等所有的数据都准备好了,再将缓冲区中的所有数据一次性地写入硬盘,这样程序就减少了等待的次数,变得流畅起来。有时候,从键盘输入的内容,或者将要输出到显示器上的内容,会暂时进入缓冲区,待时机成熟,再一股脑将缓冲区中的所有内容“倒出”,我们才能看到变量的值被刷新,或者屏幕产生变化。在实际开发中,将数据写入文件后,打开文件并不能立即看到内容,只有清空缓冲区,或者关闭文件,或者关闭程序后,才能在文件中看到内容。...

有朋自远方来,不亦乐乎。 1万+
上一篇: C语言之内存布局
下一篇: C语言之数据存储
Young-_-D
博客等级 码龄8年 62粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值