随笔分类 -  CStudy

break&&continue
摘要:break和continue的区别: 1. 当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执行continue语句后的其它语句,但下一次循环还会继续执行。2. 如果有多层循环时,break只会跳出本层循环,不会跳出其他层的循环。3. 阅读全文
posted @ 2018-08-16 11:21 Garnett21 阅读(236) 评论(0) 推荐(0)
assert用法
摘要:assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: void assert( int expression ); assert的作用是计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调 阅读全文
posted @ 2018-08-07 17:13 Garnett21 阅读(196) 评论(0) 推荐(0)
malloc用法整理
摘要:malloc函数原型:void *malloc(unsigned int num_bytes); //分配长度为num_bytes字节的内存块 返回值是void指针,void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类 阅读全文
posted @ 2018-07-10 17:08 Garnett21 阅读(1337) 评论(0) 推荐(0)
多文件编译,全局变量
摘要:1. 定义文件main.c,内容 定义文件global.c,内容 定义文件global.h,内容 编译:gcc main.c global.c 执行:./a.out 输出: 阅读全文
posted @ 2018-07-03 16:34 Garnett21 阅读(170) 评论(0) 推荐(0)
内联函数inline的用法
摘要:一、什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空 阅读全文
posted @ 2018-06-26 10:32 Garnett21 阅读(1240) 评论(0) 推荐(0)
ASCII
摘要:在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以 阅读全文
posted @ 2018-06-21 18:51 Garnett21 阅读(523) 评论(0) 推荐(0)
sizeof和strlen
摘要:一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小 阅读全文
posted @ 2018-06-21 18:46 Garnett21 阅读(152) 评论(0) 推荐(0)
指针
摘要:指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。 指针赋值 编译后输出: var asdr: 0x7ffddf977e0cstored in ip addr: 0x7ffddf977e0cvalue of * 阅读全文
posted @ 2018-06-19 14:30 Garnett21 阅读(159) 评论(0) 推荐(0)