21年3月27日C语言概述(四)

1.  %的重要性

2.  逗号的玩法

3.  指针概述

4.  指针与地址

5.  小端存放

6.  sizeof的玩法

7.最大公约数与辗转相除法

1.  %的重要性

%可以形成局部循环,这个思想很重要。特别是在后期的哈希里面

 

 

通过循环,使A~Z的字母每次向后挪一个

 

 

2.  逗号的玩法

1. 逗号前后的语句都会执行,但是涉及到赋值判断等操作,看的是最后一个逗号右边的语句  (前提是有括号)

2. 逗号的优先级最低   最低这里体现了逗号运算符的优先级是最低的,先赋值了,再执行20+c,所以a的值是13

 这里体现了逗号前后的语句都会执行,但由于逗号的优先级最低,所以赋值不是++c

 

 

 这里体现了因为加了括号,所以逗号执行在赋值的等于号之前。所以赋值的是逗号最右边的

 

 

 

 判断的体现

 

3.  指针概述

 

 

4.  指针与地址

1.   指针的大小只有4和8,不管是int指针、char指针、float指针

  在32位系统(x86)里面是4字节  >>  32位操作系统, 是因为CPU所能处理的数据的最大位数是32位。而一个字节刚好是8位 (32/8=4),因此是4个字节

  在64位系统(x64)里面是8字节  >>  同上,CPU所能处理的数据的最大位数是64位。64/8=8,所以是8字节。

 

2.    指针存放变量的地址只存放变量的首地址

 

5.  小端存放

 

1.    地址只有高低之分,没有大小之分。 

 

2. 10的16进制是 a ,这里的表现为 0000 000a  (一个int是4字节,一字节是8位2进制,2位16进制

  8>>9>>A>>B  在16进制中递增,0x....8是低地址位,0x....B是高地址位。

  结合 0000 000a 的存储,就能理解  低地址存放低位,高地址存放高位

 

6.  sizeof的玩法

1.    sizeof 发生在编译时期,a++这类对变量的操作发正在链接时期

2.    sizeof的返回值是unsigned类型,即无符号整型

 

 

为什么a没有自加成功?

 

 

1.    10按照16进制以0A存入变量a

2.    变量a得到无符号整型4    (你会发现++a没有了)

因为sizeof发生在编译阶段,只对类型操纵,得到类型的大小。该操作过后,sizeof()里面的东西就没有了

++a发生在链接过程,这个操作符号已经不存在了  

 

 

7.最大公约数与辗转相除法

 

posted @ 2021-03-27 20:20  没壳的蜗牛  阅读(62)  评论(0编辑  收藏  举报