随笔分类 - C
虽然之前也系统的学过C,平时也是一直在用C,可以总有些时候会觉得自己对于那些细节的点掌握不够,因此专门拿出一栏来记录自己的心得体会!
摘要:编译过程的一点心得体会:.h文件其实只在预处理的过程用到,用来将类似#include 这样的行展开为具体内容。那些标准库或者其他库中的函数,是在链接的过程中连接器把相应部分从库中提取出来的,和头文件无关,头文件其实只是做一个函数声明,使编译通过。Chapter 1:1.词法分析的贪心贪心法,即大嘴法:每一个符号应该包括尽可能多的字符。2.如果一个整型常量的第一个字符是数字0,那么该常量会被视作是八...
阅读全文
摘要:1.运行代码的三种情况 a.运行时有逻辑问题 gdb a.out 设置断点 单行执行 b.运行代码没有退出 一直运行 结束不了 挂载调试 跟踪调试-g选项 运行程序 没结束 重新开一个终端 进入到和程序同目录 ps -aux|grep 程序名a.out 找到进程号 gdb a.out 进程号进程号x 1-g选项2运行程序 没结束3重新开一个终端 进入到和程序...
阅读全文
摘要:C语言总结C语言的概述(自己总结) 起源,发展,现状,特点,优缺点数据类型 内建:C语言自带的数据类型 整型 stdint.h 对数据类型进行了封装 limits.h 各种数据类型的最大值是小值 unsigned uint8_t,uint16_t,uint...
阅读全文
摘要:1.bool定义时候需要加头文件 #include2.强制类型转换的原理:只是在转换的过程中临时生成一个变量来代替原来的量,当操纵结束的时候,这个临时变量也消失。3.类似这样的注释,只能把while(1){}这个东西注释掉,最终程序还是会执行一次printf预处理结果。4.scanf("%d ",&num[i]);%d后加了空格,就会使这个函数在回车的时候还不停止,这是因为加了空格以后,就会跳过所...
阅读全文
摘要:1.类型限定词restrict:对于某指针是访问一个数据对象的唯一且初始的方式,则可以用restrict来修饰int ar[10]; int* restrict restar = (int*)malloc(10*sizeof(int)); int* par = ar; for(n = 0 ; n < 10 ;n++) { par[n] += 5; restar[n] += 5; ...
阅读全文
摘要:1.字符常量如'$'是存储在int中的,但实际上只使用int的一个字节来存储'$'的编码 2.printf的返回值:返回打印的字符的个数,如果有输出错误,那么返回一个负数 scanf的返回值:返回成功读入的项目个数,如果没有读到任何项目(比如它期望读入一个数字,但是你输入了一个非数字的情况)则返回0
阅读全文
摘要:题一,堆和栈的区别是? 题二,Volatile与Register的区别是? 题三,ARM里的大端格式和小端格式分别是什么意思? 题一答案: (1)存储内容不同 栈:在函数调用时,栈中存放的是函数中(最底下是函数调用后的下一条指令)的各个参数(局部变量)。 堆:一般是在堆的头部用一个字节存放堆的大小。
阅读全文
摘要:刚开始学习C语言的时候,觉得一个数组可以定义一个一级指针去访问,想当然的就觉得可以定义一个二级指针去访问二维数组。很显然这是错误的。 我们来看看C语言的数组在内存中的存储方式。 实际上C语言中的数组,实际上都是一维的。即不管是几维的,都是通过数组的数组这种方式来创建的,实际上它们在内存中的储存方式还
阅读全文
摘要:参考于https://blog.csdn.net/wtzdedaima/article/details/78377201 C语言也学了蛮久的,其实一直都没有用到过或者碰到过引用的例子。前端时间再全面复习C的基础知识,看到引用这一块,发现两者的还是有一些差别的,抱着我不用,万一别人用我也需要看懂的原则
阅读全文
摘要:关于读文件的时候判断文本是否读完的方式一般可以通过EOF,一般宏定义为-1.因为ASCII码中不可能出现-1. 当以文本形式读取文件内容, 读入的字符值等于EOF时, 表示读入的已不是正常的字符而是文件结束符 当以二进制形式读取文件内容, 信息都是以数值方式存在的, EOF的值可能就是所要处理的二进
阅读全文
摘要:一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小
阅读全文
摘要:转至:http://www.cnblogs.com/xiangzi888/archive/2011/11/10/2244336.html 一、首先回答,什么是文件,流 一个文件通常就是磁盘上的一段命名的存储区。比如 stdio.h 就是一个包含一些有用信息的文件的名称。 C将文件看成是连续的字节序列
阅读全文
摘要:(一)编译的具体过程: 以前一直觉得,C代码的具体实现过程就是把几个.c文件编译成.o文件,然后链接在一起就可以了。可是最近在看C Prime Plus查漏补缺基础知识的过程中发现,这里的链接其实链接的东西有三类。 一.是原来编译产生的.o文件,这个.o文件不可执行,仅仅包含了源文件的代码转机器语言
阅读全文