一些杂散但值得讨论的问题

《朱老师物联网大讲堂》学习笔记

学习地址: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宏,

 

你可能感兴趣的:(C语言)