c语言*零碎知识便签

这篇博客是写一写c语言学习过程中的一些零碎的知识,不定时更新!一部分原创,一部分转自一些博客,或者是摘抄书本上的讲解~,c语言知识本来就比较零碎,感觉就是捡漏一样。

1
引脚,又叫管脚,英文叫 Pin。就是从集成电路(芯片)内部电路引出与外围电路的接线,所有的引脚就构成了这块芯片的接口。引线末端的一段,通过软钎焊使这一段与印制板上的焊盘共同形成焊点。我们电脑的触摸鼠标就是运用了引脚。

2
Abort 终止
\t 制表符
\n 回车符 16
\0 字符串结束的标志
0 数字0
‘0’ char字符0 48
‘\0’ char字符反斜杠0 标志一个字符串的结束
%d 打印十进制
%p 打印地址
0x%x 打印十六进制
%u 打印无符号数
\取整
%取余 只有整数可以取余
\接续符号 将两行连接在一起

3

代码段

代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。

4

栈(栈里存放的数据是先进去后出来

1.栈的定义
栈是限制仅在表的一端进行插入和删除运算的线性表又称为后进先出表(LIFO表)。插入、删除端称为栈顶,另一端称栈底。表中无元素称空栈。

2 栈的逻辑结构和存储表示
栈的逻辑结构和线性表相同。
栈的抽象数据类型有两种典型的存储表示:基于数组的存储表示和基于链表的存储表示。
(1)基于数组的存储表示实现的栈称为顺序栈,顺序栈可以采用顺序表作为其存储表示,因此,可以在顺序栈的声明中用顺序表定义它的存储空间。
(2)基于链表的存储表示实现的栈称为链式栈,链式栈可以采用单链表作为其存储表示,因此,可以在链式栈的声明中用单链表定义它的存储空间。

5

内联函数 inline

Tip: 只有当函数只有 10 行甚至更少时才将其定义为内联函数.
定义: 当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用.
优点: 当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联.
缺点: 滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数通常会减少代码大小, 但内联一个相当大的函数将戏剧性的增加代码大小. 现代处理器由于更好的利用了指令缓存, 小巧的代码往往执行更快。

6

寄存器

寄存器是cpu的小太监,就是比在内存读取数据要快,但是寄存器很贵,一般一个电脑几十个寄存器的样子。
寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
寄存器用途
  1.可将寄存器内的数据执行算术及逻辑运算;
  2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;
  3.可以用来读写数据到电脑的周边设备。
7

printf()函数入参

例如:
打印出 a + b + c / b = b * 2 / c = c * 3
按照编译器从左至右编译的结果应该是打印a+b+c 再把b*2的值赋给b
结果应该是 6 4 9
但是结果是 14 4 9
这里我们要注意 printf函数的打印入参是从右到左的!
也就是说先把b*2的值赋给b c * 3的数值赋给c 然后再计算的a+b+c
这里写图片描述

8
内存中没有出现变量名,只是出现地址。
例如 :int a = 3
内存中不会存储a这个变量,只是为a开辟了一块内存,数值3就以二进制存放在这块地址里面。
函数名也是一个地址值。


在c语言里面,正数是按原码存放的,而负数是按补码(反码+1)存放的,在对负数进行操作(例如位与,位或时)都是对它的补码进行操作,而不是原码。


在对正负数进行操作时:
负数右移,左边自动补1,正数右移,左边自动补0


~ 是按位取反,符号位也会取反!
计算机存放的都是补码存放的 因此操作起来也是对补码进行操作。

9

循环

If()可以放什么
条件表达式 数字 小数 表达式
switch()里面可以放什么
条件表达式 数字 表达式 (不能放小数
for (int i =1;i< 6;i++) c++里面可以这么写
for (i=1;i< 6; i+

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值