- 博客(15)
- 收藏
- 关注
原创 精讲之结构体的大小(对齐)
先计算数据类大小(所占字节数),然后说一下结构体的大小,废话不说,先上图结构体的大小遵循的方式是对齐,包括向下对齐和向上对齐。向最大的类型对齐...
2019-03-19 00:02:38
246
原创 单链表的实现(c语言版)
单链表是数据结构中比较基础的知识主要涉及到的函数有:单链表的初始化 数据头插法 据尾插法 按pos位置插入 查找key值前驱 删除key值结点 得到单链表的长度 摧毁单链表/* 头文件 */typedef int Elemtype;typedef struct LNode{ ...
2019-03-18 21:41:51
2750
5
原创 数组指针与指针数组
数组指针本身是指针指针数组本身是数组int(*arr)[]数组指针,本身是指针,指向一块存储着整形的数组int *arr[]指针数组,本身是数组,存放的数据是int*型...
2019-03-14 16:26:23
194
原创 浅谈C/C++程序的编译过程
从代码转化到可执行的程序会经过以下几个步骤 .cpp->.exe 预处理 -> 编译 -> 汇编 -> 链接.c/.cpp-> .i -> .s -> .o .obj ->.exe预处理 预处理:主要是做一些代码文本的替换工作。(该替换是一个递归逐层展开的...
2019-01-11 17:52:03
201
原创 strlen与sizeof的区别
strlen是函数,sizeof是操作符 strlen在程序运行时计算,sizeof在程序编译时计算 参数strlen的参数只能时char*,且必须是以''\0''结尾的 sizeof的参数可以是指针,数组,函数,类型,对象 数组做sizeof的参数不变化,数组作为strlen的参数就退化为指针了。...
2018-12-02 13:08:59
169
原创 详解>>堆,栈,堆栈,队列
1.堆堆就是一棵完全二叉树具有以下特性在程序运行时分配内存(动态分配内存) 应用程序在运行时向操作系统申请空间2.栈(堆栈)运算受限制的单链表,只能从一个方向操作 像是一个桶,只能从开口方向放入或者拿出数据,开口方向为栈顶,不开口方向栈底 有两种操作PUSH(入栈) POP(出栈)入栈,放入栈顶元素,栈大小加一 出栈,取出栈顶元素,栈大小减一3.队列 特殊的线性表...
2018-12-01 11:13:52
282
原创 单精度浮点数(float)与双精度浮点数(double)的区别:
1、单精度,也就是 float ,在 32 位机器上用 4 个字节来存储的;而双精度double是用 8 个字节来存储的,这是他们最本质的区别。 2、由于存储位不同,8位,16位他们能表示的数值的范围就不同,也就是能准确表示的数的位数就不同。单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308 ...
2018-07-27 16:46:00
5440
原创 结构体总结
结构体总结,定义struct A{char a;//1+3int b;//4 内存对齐};声明变量typedef struct Day{int year;int monuth;int day;}Day;访问void Show1(boy sb ){printf("%d,%s\n",sb.age,sb.name);} ...
2018-07-23 23:15:38
240
原创 malloc函数总结
函数定义 原型Extern void*malloc(unsigned int num_bytes) 头文件#include <stdlib.h>或者#include <malloc.h> 函数声明void *malloc(size_t size);备注:void* 表示未确定类型的指针,void *可以指向任何类型的数据...
2018-07-23 22:59:45
1982
原创 十进制数转化为二进制数中1的个数
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<math.h>int solve(int n){ int ans = 0; while (n) ans += n & 1, n >>= 1; return ans;}int main(){ int n; scanf("%d", &...
2018-06-05 23:32:55
414
原创 素数的判定
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> #include <math.h> int Prime_(long Num){ if (Num < 2) return 0; long i; long n; n = sqrt(Num); for (i = 2; i <= n; i++) { if ((Nu...
2018-06-05 23:30:41
243
原创 判定 2000—2500 年中的每一年是否闰年,并将结果输出
判定 2000—2500 年中的每一年是否闰年,并将结果输出#include<stdio.h>int Leap_year(int x){ if ((x % 100 != 0 && x % 4 == 0) || (x % 400 == 0))//计算i是否为闰年 printf("%d 是闰年\n", x); else printf("%d不是闰年\n", ...
2018-06-05 23:29:33
5675
原创 5的阶乘
#include<stdio.h>int main(){ int n, s = 1; for (n = 1; n <= 5; n++) { s = s*n; } printf("%d", s); system("pause"); return 0;}
2018-06-05 23:28:35
2433
原创 float类型存储方式
float类型的存储方式在C/C++中,float类型占4个字节即32位 , 这32位分成了3部分: 符号位:转化成二进制后,第31位。 0代表正数,1代表负数 阶码:30-23位,转化成规格化的二进制之后与127之和 尾数:22-0位 ...
2018-05-27 23:41:43
1536
转载 栈与堆的区别以及增长方向
堆和栈的区别: 一、堆栈空间分配区别:1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式:1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放;2、堆是存放在二级缓存中,生命周期...
2018-05-27 23:38:50
1513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人