C语言知识点

来源:互联网 发布:装修招标网源码 编辑:程序博客网 时间:2024/06/05 07:45

1.scanf_s("%d",&a)返回的是成功读取输入值的个数。


2.未初始化与NULL区别

以下两张图是未初始化的其中T,S1,S2为结构体,b,c为数组

VC的DEBUG版会把未初始化的指针自动初始化为0xCCCCCCCC,而不是就让它随机去,那是因为DEBUG版的目的是为了能让程序员更早的发现错误,把堆栈上的数据对初始化成了0xcc,也就是说局部变量如果不初始化,那么DEBUG版本中就会是0xCC,如果野指针的初值不确定。而汉字“烫”的编码恰好就是1100110011001100,这也就为什么初学的时候会出现“烫”了,因为那会经常会忘记赋值或者数组越界了。

下面的图依旧是未初始化的结构体元素



下面是赋值为NULL后的结构体变量,观察值的变化,其中T.ch是个字符型指针






原创粉丝点击