![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Coder_Ch1nA
这个作者很懒,什么都没留下…
展开
-
用 VisualStudio 查看类结构模型
1. 打开开发者命令工具2. 输入如下命令c:\Windows>cd /d E:\UserData\Desktop\Code\C++\day6\查看类结构 //跳转目标文件目录E:\UserData\Desktop\Code\C++\day6\查看类结构>cl /d1reportSingleClassLayoutHero main.cpp //输入命令用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.16.27043 版版权所有(C) Microsoft.原创 2021-01-18 14:41:55 · 1221 阅读 · 0 评论 -
C语言精通大牛笔记DAY6|预处理|动态库|递归函数
C语言精通大牛笔记DAY6|预处理|动态库|递归函数一 . 预处理指令1.预处理基本概念C语言对源程序处理的四个步骤:预处理、编译、汇编、链接。2.文件包含指令(#include)a) 文件包含处理“文件包含处理”是指一个源文件可以将另外一个文件的全部内容包含进来。C语言提供了#include命令用来实现“文件包含”的操作。b) #incude<>和#include""区别“” 表示系统先在file1.c所在的当前目录找file1.h,如果找不到,再按系统指定的目录检转载 2021-01-07 18:12:52 · 184 阅读 · 0 评论 -
C语言精通大牛笔记DAY5_链表与回调函数
C语言精通大牛笔记DAY5_链表与回调函数1.链表1.链表要素链表由节点构成每个节点由数据域和指针域组成2.数组与链表比较3.链表的分类链表分类1:静态链表 链表分配在栈上动态链表 链表分配在堆区链表分类2:单向链表双向链表链表分类3:单向循环链表双向循环链表4.带头节点的链表5.链表完整功能示例#include "NodeList.h"//初始化链表NodeList* init_NodeList(){ NodeList*pHeader原创 2021-01-06 14:13:40 · 419 阅读 · 2 评论 -
C语言精通大牛笔记DAY4_结构体内存对齐
C语言精通大牛笔记DAY4_结构体内存对齐1.内存对齐内存对齐好处以空间换时间结构体对齐原则第一个属性开始 , 从0开始计算偏移量第二个属性要放在 该属性的大小 与 对齐模数比 取小的值的整数倍上当所有属性都计算完毕后 , 整体做二次偏移 , 将计算结果 扩充到 [结构体中最大类型 与 对齐模数]取最小值 的整数倍查看对齐模数#pragma pack (show) 编译后可看到对齐模数默认对齐模数 为 8修改对齐模数#pragma pack (1)原创 2021-01-04 14:26:09 · 111 阅读 · 1 评论 -
C语言精通大牛笔记DAY3_数组指针与选择排序
C语言精通大牛笔记DAY3_数组指针与选择排序1.数组指针定义方式int arr[5] = {1,2,3,4,5};//先定义数组类型,再通过类型定义出数组指针typedef int(ARRAY_TYPE1)[5];//有5个int元素的数组 类型ARRAY_TYPE1*p1 = &arr;//先定义出数组指针的类型,通过类型创建数组指针变量typedef int(*ARRAY_TYPE2)[5];ARRAY_TYPE2 p2 = &arr;for(int i原创 2020-12-31 16:22:45 · 160 阅读 · 0 评论 -
C语言精通大牛笔记DAY1_内存
C语言精通大牛笔记DAY11.内存四区程序运行前:代码区只读共享数据区(data区) 已初始化的全局与静态变量,常量(BSS区) 未初始化数据区,包含未初始化的全局变量,静态变量程序运行后栈区先进后出的内存结构,由编译器自动分配和释放存放的是局部变量,函数参数,返回值生命周期: 离开该变量的作用域之后,立即被释放堆区堆区是一个大容器,它的容量远远大于栈一般由程序员分配和释放若程序员不释放,程序运行结束后由系统回收2.静态与全局变量特原创 2020-12-08 21:40:32 · 156 阅读 · 0 评论 -
c语言基础笔记DAY8_文件操作
c语言基础笔记DAY8_文件操作1.认识文件指针在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。typedef struct{ short level; //缓冲区"满"或者"空"的程度 unsigned flags; //文件状态标志 char fd; //文件描述符 unsigned char hold; //如无缓冲区不读取字符 short bsize; //缓冲区的大小原创 2020-12-05 19:33:35 · 193 阅读 · 0 评论 -
c语言基础笔记DAY7_结构体共用体枚举
c语言基础笔记DAY7_结构体共用体枚举struct结构体struct people{ char name[128]; int age; int height;}a,b;struct people c = {"Mike",28,178};struct people d = {.age = 20}; //给部分成员初始化struct people是类型 , 没有申请内存空间 , 所以不能在定义时给成员变量赋值d=c;是可以的. 相同类型的变量可以赋值共用体原创 2020-12-04 19:37:16 · 190 阅读 · 1 评论 -
c语言基础笔记DAY6_变量作用域
c语言基础笔记DAY61.静态局部变量static局部变量的作用域也是在定义的函数内有效main函数运行前开辟空间static局部变量的生命周期和程序运行周期一样,同时staitc局部变量的值只初始化一次,但可以赋值多次static局部变量若未赋以初值,则由系统自动赋值:数值型变量自动赋初值0,字符型变量赋空字符#include <stdio.h>void fun1(){ int i = 0; i++; printf("i = %d\n", i);}原创 2020-12-03 20:33:37 · 117 阅读 · 0 评论 -
c语言基础笔记DAY5_指针基础
c语言基础笔记DAY51.内存每启动一个程序,系统在内存上给该程序分配32位内存空间 4G内存是由一个一个字节组成,每个字节都会有地址编号32位系统,内存地址由0x 0000 0000 ~ 0xffff ffff注意 : 这里的内存地址是逻辑地址空间,虚拟地址. 实际硬件上,虚拟地址会映射到物理内存2.内存的编号地址:内存的编号我们把这个编号(地址)也叫做指针3.指针大小不管什么类型的指针,大小只和编译器有关(32位,64位)32位编译器,指针大小都为四个字节4.c原创 2020-11-25 10:28:07 · 138 阅读 · 0 评论 -
c语言基础笔记DAY4_深入字符串输入输出
c语言基础笔记DAY41.scanf缺点遇到空格提前结束读取如果存放字符的空间不足,会继续存放,导致内存污染2.gets(char*s)功能将键盘输入,存入到s字符数组中可以存入空格缺点如果存放字符的空间不足,会继续存放,导致内存污染3.fgets(char*s,int num,FILE*stream)功能库函数:从键盘读取一个字符串char num[128];fgets(num , sizeof(num),stdin);//从stdin(标准输入)读原创 2020-11-23 16:25:43 · 142 阅读 · 0 评论 -
c语言基础笔记DAY3_字符串格式化输入输出
c语言基础笔记DAY31.类型限定符限定符含义extern声明一个变量,extern声明的变量没有建立存储空间。 extern int a;//变量在定义的时候创建存储空间const定义一个常量,常量的值不能修改。 const int a = 10;Volatile防止编译器优化代码register定义寄存器变量,提高效率。register是建议型的指令,而不是命令型的指令,如果CPU有空闲寄存器,那么register就生效,如果没有空闲寄存 器,那原创 2020-11-18 19:36:11 · 149 阅读 · 0 评论 -
c语言基础笔记DAY2_补码变量类型与ASCII码
c语言基础笔记DAY21.在计算中,负数不直接使用源码的原因?举例原码:+0 : 0000 0000-0 : 1000 0000+1 : 0000 0001-1 : 1000 0001+1 + (-1) = 0000 0001 + 1000 0001 = 1000 0010 = -2 ?在c语言中没有减法 , 直接使用原码计算 , 会导致带符号数计算结果错误2.原码数的最原始的二进制码-0: 1000 0000+0: 0000 0000-1原创 2020-11-18 08:35:55 · 519 阅读 · 0 评论 -
c语言基础笔记DAY1_编译指令与机器原理
c语言基础笔记1.GCC编译时 常用 win命令cd :跳转到指定文件夹,但不可跳转盘符cd /d :跳转盘符,跳转到指定文件夹dir :查看当前 目录下的文件cls :清屏一步编译法1: gcc hello.c -o hello.exe一步编译法2: gcc c:/a/hello.c -o hello.exe一步编译法3: gcc c:/a/hello.c -o c:/a/hello.exe2.c语言编译过程预处理:gcc -E hello.c -o原创 2020-11-16 10:57:05 · 117 阅读 · 0 评论 -
C语言精通大牛笔记DAY2_开辟内存与sscanf从字符串获取数据
C语言精通大牛笔记DAY21.堆区开辟内存其它函数a. calloc#include <stdlib.h>void * calloc(size_t nmemb, size_t size);功能:在内存动态存储区中分配nmemb块长度为size字节的连续区域。calloc自动将分配的内存 置0。参数:nmemb:所需内存单元数量size:每个内存单元的大小(单位:字节)返回值:成功:分配空间的起始地址失败:NULLb. realloc#in原创 2020-12-30 08:51:02 · 165 阅读 · 0 评论