《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
(1).
操作系统不直接干活,而是负责管理资源,
操作系统的调用通道,API函数,
C库函数和API的关系,
不同操作系统API是不同的,库函数相似性很高,
跨操作系统可移植平台,比如QT,
(2).main函数返回给谁,
(3).argc、argv与main函数的传参,
(4).
c语言中不能有没有类型的变量,
可以有没有类型的内存,
(5).
#ifdef _cplusplus
#define NULL 0
#else
#define NULL (void *)0
#endif
(void *)0代表一个指针,指针本身占4个字节,地址在哪里取决于指针变量本身,但是这个变量的值为0,也就是说这个指针变量指向0地址,
注意不要混用NULL与'\0'
(1)'\0' 和 '0' 和 0 和 NULL几个区分开。
(2)'\0'是一个转义字符,他对应的ASCII编码值是0,本质就是0
(3)'0'是一个字符,他对应的ASCII编码值是48,本质是48
(4)0是一个数字,他就是0,本质就是0
(4)NULL是一个表达式,是强制类型转换为void *类型的0,本质是0.
总结:'\0'用法是C语言字符串的结尾标志,一般用来比较字符串中的字符以判断字符串有没有到头;'0'是字符0,对应0这个字符的ASCII编码,一般用来获取0的ASCII码值;0是数字,一般用来比较一个int类型的数字是否等于0;NULL是一个表达式,一般用来比较指针是否是一个野指针。
(6).
临时变量,
(7).
顺序结构,
(8).
单步调试,裸机LED调试,打印信息,log文件,
debug宏,