
C
文章平均质量分 72
无
Esdon6
悟已往之不谏,知来者之可追
展开
-
有趣的问题之野指针
在写解析json字符串的程序中,出现了段错误。esdon@ubuntu:/mnt/hgfs/tolinux/net/sql$ gcc toelem.c -o toelem -ljsonesdon@ubuntu:/mnt/hgfs/tolinux/net/sql$ ./toelemSegmentation fault (core dumped)借助gdb调试esdon@ubuntu:/mnt/hgfs/tolinux/net/sql$ gdb toel原创 2021-04-12 23:19:06 · 309 阅读 · 0 评论 -
有趣的问题之scanf
1、scanf()问题(1)对于%dscanf会跳过空白字符,遇到第一个数字字符或一个符号(+或-)才开始读取;如果遇到一个非数字字符,便认为读到整数的末尾,然后把非数字字符放回输入。这意味着下次读取输入时,首先读到上次读取丢弃的非数字字符。如果第一个非空白字符是A而不是数字,scanf将停在那里,并把A放回输入中,不会把值赋给变量,程序在下一次读取输入时,就一直无法越过A读取下一个字符。(C规定在第一个出错处停止读取输入)scanf("%d,%d",&n,&m);printf(原创 2021-04-11 21:17:53 · 190 阅读 · 0 评论 -
精通到熟悉C系列1——存储类型&预处理&地址对齐&特殊函数
8、内存映像&内存管理&存储类型静态的意思是该变量在内存中原地不动。8.1、存储类型自动存储类型寄存器存储类型全局非static静态存储类型全局static静态存储类型局部static静态存储类型外部存储类型8.1.1、作用域块作用域定义在块中的变量具有块作用域。函数作用域即使一个标签首次出现在函数的内层块中,它的作用域也延伸至整个函数。函数原型作用域从形参定义处到原型声明结束。文件作用域(也称全局变量)从它的定义处到该定义所在文件的末尾可见。8.1.2、原创 2021-04-11 21:06:26 · 209 阅读 · 0 评论 -
精通到熟悉C系列1——函数&数组&指针&结构体
4、函数4.1、传参值传递// 在被调用的函数中,只能使用实参的值,而不能去修改实参的值,例如:void fun1(int x,int y){ printf("fun1:%d,%d\n",x,y); //只能使用实参的值 x = 20; //不能改变实参的值 y = 30;}指针传递// 在被调用函数中,既可以使用实参的值,也可以改变实参的值,例如:void fun2(int* x,int* y){ printf("fun2:%d,%d\n",*x,*y); //可以使原创 2021-04-11 21:02:52 · 280 阅读 · 0 评论 -
精通到熟悉C系列1——数据类型&运算符&语句
1、数据类型常量(整型常量、浮点型常量、字符常量‘A’、字符串常量"hello"、符合常量[用defined定义的])变量类型描述基本类型他们是算数类型,包含两种类型:整数类型和浮点类型枚举类型他们也是算数类型,被用来定义在程序中只能赋予其一定的离散整数值的变量void类型类型说明符void表明没有可用的值派生类型他们包括:指针类型,数组类型,结构类型,共用体类型和函数类型1.1、数据类型汇总表类型符号关键字位数表示范围字原创 2021-04-11 21:00:35 · 389 阅读 · 1 评论