随笔分类 -  语言-c语言

摘要: 阅读全文
posted @ 2020-10-17 15:37 北极星! 阅读(1601) 评论(0) 推荐(0) 编辑
摘要:转自:https://blog.csdn.net/qq_37941471/article/details/81569198 阅读全文
posted @ 2020-10-17 15:33 北极星! 阅读(279) 评论(0) 推荐(0) 编辑
摘要:内存四区模型 32位CPU可寻址4G线性空间,每个进程都有各自独立的4G逻辑地址,其中0~3G是用户态空间,3~4G是内核空间,不同进程相同的逻辑地址会映射到不同的物理地址中。其逻辑地址其划分如下: 各个段说明如下:3G用户空间和1G内核空间 静态区域: text segment(代码段):包括只读 阅读全文
posted @ 2020-09-26 19:59 北极星! 阅读(1049) 评论(0) 推荐(1) 编辑
摘要:malloc malloc函数在运行时分配内存。它需要以字节为单位的大小并在内存中分配那么多空间。这意味着malloc(50)将在内存中分配50个字节。它返回一个void指针 calloc 与malloc一样,calloc也在运行时分配内存,并在stdlib.h中定义。它需要元素的数量和每个元素的大 阅读全文
posted @ 2020-09-15 10:49 北极星! 阅读(957) 评论(0) 推荐(0) 编辑
摘要:一、由源码到可执行程序的过程 1. 预处理: 源码经过预处理器的预处理变成预处理过的.i中间文件 1 gcc -E test.c -o test.i 2. 编译: 中间文件经过编译器编译形成.s的汇编文件 1 gcc -S test.i -o test.s 3. 汇编: 汇编文件经过汇编器生成目标文 阅读全文
posted @ 2020-09-12 20:58 北极星! 阅读(441) 评论(0) 推荐(0) 编辑
摘要:动态库与静态库 静态(函数)库 一般扩展名为(.a或.lib),这类的函数库通常扩展名为libxxx.a或xxx.lib 。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会比较大,这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容 阅读全文
posted @ 2020-09-10 20:00 北极星! 阅读(328) 评论(0) 推荐(0) 编辑
摘要:C/C++学习总结积累(超详细)——C提高:预处理(include、define、可变宏参)、编译、汇编、链接 gcc/g++ 实战之编译的四个过程 预处理 1)预处理的基本概念 C语言对源程序处理的四个步骤:预处理、编译、汇编、链接。 预处理是在程序源代码被编译之前,由预处理器(Preproces 阅读全文
posted @ 2020-09-10 16:16 北极星! 阅读(1664) 评论(0) 推荐(0) 编辑
摘要:链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储)。 数据域用来存储数据,指针域用于建立与下一个结点的联系。 建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。 链表的开销,主要是 阅读全文
posted @ 2020-09-10 10:55 北极星! 阅读(645) 评论(0) 推荐(1) 编辑
摘要:文件操作步骤 要把大象装进冰箱总共分几步? 一、对文件的操作步骤 1)引入头文件(stdio.h ) 2)定义文件指针 3)打开文件 4)文件读写 5)关闭文件 二、有关文件的概念 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按 阅读全文
posted @ 2020-09-09 21:56 北极星! 阅读(646) 评论(0) 推荐(0) 编辑
摘要:C语言程序处理过程 预处理:宏定义展开、头文件展开、条件编译,这里并不会检查语法 编译:检查语法,将预处理后文件编译生成汇编文件 汇编:将汇编文件生成目标文件(二进制文件) 链接:将目标文件链接为可执行程序 程序只有在运行才加载到内存(由系统完成),但是某个变量具体分配多大,是在编译阶段就已经确定了 阅读全文
posted @ 2020-09-08 22:03 北极星! 阅读(158) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/edisonchou/p/4669098.html 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。 2、堆区(heap):一般 阅读全文
posted @ 2020-09-06 22:27 北极星! 阅读(2093) 评论(0) 推荐(3) 编辑
摘要:参考:1 2 另一篇:c源文件中为什么要包含自己对应的头文件 问题 在进行C语言文件移植时,遇到 “通常是每个.c文件对应一个.h文件”,之前了解过.h文件是头文件,用来引用其他文件的, 但在codeblocks C语言项目中找不到相应的.h文件: 所以,.c和.h文件到底什么关系,又怎么对应? 答 阅读全文
posted @ 2020-08-05 21:26 北极星! 阅读(1827) 评论(0) 推荐(0) 编辑
摘要:另一篇:.c文件和.h文件的关系 引言: 我们经常在c工程中发现,源文件中要包含自己的头文件。一直以来,都不知道为什么这样做。现在,我知道了。 以前的认知: 我认为,.c文件没有必要包含自己的.h文件。.h文件包含.c文件中定义的函数和全局变量的声明,.h文件就是.c文件提供的对外接口文件。既然.h 阅读全文
posted @ 2020-06-22 17:18 北极星! 阅读(2983) 评论(0) 推荐(3) 编辑
摘要:Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name;(2)path/script-name或者./script-name;(3)sourcescript-name或者. script-name。下面,分别介绍下这三种方式的特点: ( 阅读全文
posted @ 2020-06-14 09:16 北极星! 阅读(3629) 评论(1) 推荐(1) 编辑
摘要:1.概念缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。 缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。 2.为什么要引入缓冲区比如我们从磁盘里取信息,我们先把读出的数据放 阅读全文
posted @ 2020-06-08 19:03 北极星! 阅读(3920) 评论(0) 推荐(0) 编辑
摘要:机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。 存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。指令字长:计算机指令字的位数。数据字长:计算机数据存储所占用的位数。 注:冯诺依曼机中,指令和数据同等重要,都存放在存储器中,并可按地址 阅读全文
posted @ 2020-05-08 10:44 北极星! 阅读(1355) 评论(0) 推荐(1) 编辑
摘要:“一个字等于多少个字节?”是一个不严谨的问法 直接回答一个字等于多少个字节,也是不严谨的答法。 相关概念:1、位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位。 2、字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。 字节是 阅读全文
posted @ 2020-05-08 10:42 北极星! 阅读(1898) 评论(0) 推荐(2) 编辑
摘要:https://www.runoob.com/cprogramming/c-tutorial.html 阅读全文
posted @ 2020-04-02 21:18 北极星! 阅读(291) 评论(0) 推荐(0) 编辑
摘要:软件运行与内存关系(垃圾数据) 内存是在操作系统的统一管理下使用的! 1、软件在运行前需要向操作系统申请访问存储空间,在内存空闲空间足够时,操作系统将分配一段内存空间并将外存中软件拷贝一份存入该内存空间,并启动该软件的运行! 2、在软件运行期间,该软件所占空间不再分配给其他软件。 3、当操作系统完毕 阅读全文
posted @ 2020-03-27 13:41 北极星! 阅读(141) 评论(0) 推荐(0) 编辑
摘要:hello #include <stdio.h> int main() { printf("hello,world"); return 0; } 一、变量定义 变量定义的形式一般就是:类型名称 变量名称 int price; int amount; int price,amount #include 阅读全文
posted @ 2020-03-27 13:28 北极星! 阅读(256) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示