C语法
漫步者2011
欢迎来找茬!
展开
-
系统函数使用
目录sprintfsprintffor (i = 0; i < 17; i++) { sprintf(buffer+i*3, "%02X ", hex[i]);//itoa}以上代码每次都会写入4个字节如i=0时,hex[0]hex[1]空格\0; \0为编译器自动添加的,故最后会有内存访问越界问题。...原创 2021-09-28 12:59:27 · 176 阅读 · 0 评论 -
数组
#一维数组#二维数组#字符数组原创 2021-05-09 20:16:07 · 84 阅读 · 0 评论 -
C语言运算符优先级 详细列表
运算符的优先级:C语言中,运算符的运算优先级共分为15 级。1 级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与原创 2014-11-24 21:47:50 · 5774 阅读 · 0 评论 -
使用getopt_long()从命令行获取参数,struct option
本文来自:http://blog.csdn.net/yui/article/details/5669922众所周知,C程序的主函数有两个参数,其中,第一个参数是整型,可以获得包括程序名字的参数个数,第二个参数是字符数组指针或字符指针的指针,可以按顺序获得命令行上各个字符串参数。其原形是:int main(int argc, char *argv[]);或者int main(in转载 2017-02-06 14:12:22 · 5662 阅读 · 0 评论 -
类型转换
1. 强制类型转换后原变量的类型不变;原创 2014-11-10 18:39:47 · 518 阅读 · 0 评论 -
文件流和二进制流
C语言读写文件有两种方式ASCII 和 二进制。现在举例说明:内存中的字符或字符串都是文本模式(unicode编码存储,统一长度,定长码,方便)内存中的其他变量都是以二进制编码存储程序的代码以文本模式ASCII码方式存储 1.在windows系统中,文本模式下,文件以"\r\n"代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前原创 2014-11-13 23:31:11 · 6419 阅读 · 0 评论 -
断言assert(exp)的实现
断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。转载 2014-11-24 17:31:12 · 1110 阅读 · 0 评论 -
free问题之注意点
free释放动态分配的内存,free后其他malloc可以获得这块内存,若不释放其他malloc 不能获得这块内存,仅此而已; 注意: 1,释放后的内存完全可以读写; 2,释放后的内存里的值可能是原来的值,也可能不是,与编译器的机制有关;原创 2015-02-07 10:02:18 · 1142 阅读 · 0 评论 -
c中输入不固定长度的字符串
1 /* 2 功能:输入不固定长度的字符串 3 核心:最大长度、已用长度、步进长度,malloc()/realloc()/getc(); 4 */ 5 #include 6 #include 7 #include 8 #define STRLEN 20 //每次分配的长度 9 int main() { 10 in转载 2014-11-07 11:24:37 · 5161 阅读 · 0 评论 -
linux中结构体对齐
首先我们先看看下面的C语言的结构体:[cpp] view plaincopytypedef struct MemAlign { int a; char b[3]; int c; }MemAlign; 以上这个结构体占用内存多少空间呢?也许你会说,这个简单,计算每个类型转载 2015-08-03 18:17:25 · 6367 阅读 · 0 评论 -
typedef的用法
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) 1.简单的函数指针的应用[cpp] view plain copy char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFu转载 2016-05-17 19:45:43 · 1198 阅读 · 0 评论 -
c语言基础支持
c语言需要通过编译器翻译为机器语言才能被计算机执行;不同的计算机能够识别的机器语言可能不同,如嵌入式和pc机,此时需要使用不同的编译器去编译。程序设计中有语法错误和逻辑错误;调试 : 找出并纠正逻辑错误的过程;软件维护:周期性的更新逻辑错误,或应应用的要求修改程序;软件工程:设计程序使之易于维护;errnogcc中errno是线程安全的。“ ”和 NULL的原创 2016-09-22 18:47:35 · 222 阅读 · 0 评论