![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言进阶
Leapahead1949
今生活着的唯一意义,就在于超越今生
展开
-
C语言进阶笔记1
函数的需要做两件事情,一个是得出一个运行结果;一个是关注程序的运行过程 ,比如printf。有的函数既注重函数的运行结果,又注重函数的运行过程,看实际需求。 两种架构:冯诺依曼结构:数据和代码放在一起 哈弗结构:数据和代码分开存放,单片机中一般用的是哈弗结构 位和字节: 1G=1024Mb 1Mb=1024KB 1KB=2014B 1B=8Bit 内存编址是以字节为单位 STM3...原创 2019-10-08 20:06:43 · 118 阅读 · 0 评论 -
C语言进阶笔记2
C语言位操作,在写嵌入式代码的时候,经常会用到C语言位操作,比如&=,|=,逻辑左移,逻辑右移,算术左移,算术右移 位与和逻辑与 位与就直接按照数字电路的知识进行相与就可以了。 这里需要注意的是逻辑与,一个数字,只要他不是等于0 ,那他就表示逻辑1,逻辑与用&&来表示。 比如:5和2进行逻辑与,最后的结果是1。 位或,位取反,位异或,这里就不在详述了,因为各位都...原创 2019-10-08 22:38:05 · 252 阅读 · 0 评论 -
C语言进阶实战之位运算实战
以下代码都经过了验证, #include <stdio.h> int main(void) { int a = (0xF << 5); printf("%x", ~a); return 0; } 位运算实战1 给定整型数a,设置a的bit3,保证其他位为0 #include <stdio.h> int main(void) { int a = 0...原创 2019-10-09 10:13:00 · 146 阅读 · 0 评论 -
C语言进阶3-指针第一部分
通常情况下,指针指的是指针变量,指针变量存放的是内存地址 比如: int a=3; //a空间的地址加假设为0x40080050 int *p=&a; 上面的a里面放了个3,*p里面放了a的地址0x40080050,即为指针变量p里面存放的地址指向了空间a. 注意上面两幅图片的区别,一个是打印出地址,一个是直接打印出a里面的内容。 2,当我们说到地址的时候,是指的是某个字节的...原创 2019-10-09 12:20:35 · 178 阅读 · 0 评论 -
C语言进阶3-指针第二部分
在这里将会讨论const修饰指针的常见三种形式, const关键字在C语言中修饰变量,表示这个变量是常量,指针变量也是变量 1)第一种:int const *p等价于 const int *p 此时p本身不是const的,但是p指向的变量是const类型的 2)第二种:int * const p; 此时表示 p本身是const ,但是p指向的变量不是const类型的 2)第三种: cons...原创 2019-10-11 12:39:19 · 158 阅读 · 0 评论 -
C语言进阶3-指针第二部分
野指针,就是指针指向了一块不确定的地方,或者虽然指向了一块确定的地方,但是引用空间的结果却是不可预知的,这就是野指针 比如 int maint(void) { int *p; *p=10; //这里的指针要指向的地址是不确定的,所以就是野指针 return 0; } 野指针可能引发段错误,或者引发程序连环式错误,导致野指针有以下几种可能性: 1)指针指向了一块不确定的地方 2)指针...原创 2019-11-06 12:02:28 · 111 阅读 · 0 评论