![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
陈陈陈2333
爱吃零食不爱睡觉
展开
-
空指针
1 空指针NULL: #define NULL ((void *)0) 显然,这是一个宏定义。NULL 实际上是((void*)0) ,容易看出,外层的括号纯粹是为了防止歧义;里层的括号则是强制类型转换,转换成void * 类型,本来void * 类型是用来存放地址的,那么这里的0自然就是地址0了。 在内存分配方面,较小的地址是不用来存放数据的,也不允许程序访问的原创 2017-10-11 17:19:53 · 847 阅读 · 0 评论 -
关于 do ....while() 的重要用法
关于 do ....while() 的重要用法 在实际的编程练习中循环语句的使用频率是:for >while() >do....while() 当然推荐使用的也是上面的顺序,但是在有的地方 do....while() 用的却不是循环 的功能了,比如说: do { }while(原创 2017-09-28 19:27:03 · 14394 阅读 · 1 评论 -
关于复合字面量的使用问题
复合字面量是c99新增加的特性: 首先要知道复合字面量是匿名的,也就是说你不需要为它去取去一个名字,它是需要使用到它的时候才去创建它的,十分的简洁强大 可以对比一下开辟一个普通的数组和用复合字面量表示数组的不同: 普通数组的开辟:int arry={1,2,3}; 复合字面量的表示方法:(int [3]){1,2,3} 还可以使用指针记录地址:int *pointer;原创 2017-09-09 16:15:41 · 1226 阅读 · 3 评论 -
C语言小白记错日记
中午的时候看了c语言的书在做题目,做完之后发现gcc 竟然编译不过报错如下: ext4.c:4:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’ int main(void) ^ text4.c:12:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__原创 2017-08-02 16:09:28 · 353 阅读 · 0 评论