自动字节对齐 不想要字节对齐的时候,有没有办法取消字节对齐?答案是可以,就是在结构体声明当中,加上__attribute__ ((__packed__))关键字,它可以做到让我们的结构体,按照紧凑排列的方式,占用内存。来段实际代码: #include <stdio.h> #include <iost ...
分类:
编程语言 时间:
2020-06-06 21:49:51
阅读次数:
148
A [2551] - 检查宿舍卫生 Problem Description 不知道是从哪个学校开始兴起的还是哪个领导的决定,学校里每周都要检查宿舍卫生!大家发现没有,检查宿舍卫生是件很奇葩的事情,它剥削了每件物品的意义:垃圾桶里不能有垃圾,挂钩上不能挂东西,桌子上不能放东西,床上不能躺人!!假设检查 ...
分类:
其他好文 时间:
2020-06-06 21:33:35
阅读次数:
56
停车场记录了车辆进出的时间,求某个时间点停车场内车辆的数量和停车时间最长的车辆id及时间。具体题目可见PAT 1095 Cars on Campus。做这道题的时候可把我恶心坏了,只给了300ms很容易超时,主要是用到了map映射,以及排序相关的知识,用一个结构体保存一辆车的各种信息,包括进出时间、 ...
分类:
其他好文 时间:
2020-06-06 18:56:33
阅读次数:
47
思路: 复杂模拟题 采用结构体存储元素信息,输入时,统一化为大写或小写。 考虑三种元素选择器标签/id选择器:直接遍历整个数组 分别与label/id作比较即可 *后代选择器:①.首先遍历一遍元素 找出符合最后一个条件的所有元素 放入一个vector中②.对vector中的每个元素首先判断倒数第二个 ...
分类:
其他好文 时间:
2020-06-06 10:53:06
阅读次数:
58
链表的一个结点的结构体如下: type LNode struct { value int next *LNode } 对于一个单链表,如果他要存在环,那么至少存在两个节点,也就是说最后一个结点的next指向了前面的某个结点。 所以在判断链表是否存在环的时候,我们添加快慢两个指针fast和slow,f ...
分类:
其他好文 时间:
2020-06-04 13:36:46
阅读次数:
69
一、结构体 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。这时候就会用到C语言中的另一种构造数据类型——结构体。 1、结构体变量的定义和初始化 定义结构体变量的方式:(1)先声明结构体类型再定义变量名 ...
分类:
编程语言 时间:
2020-06-03 20:48:08
阅读次数:
74
单链表结构的缓冲区溢出攻击 代码环境是有一个8字节的缓冲区,和一个指向下一个结构体的链表,程序在构造完成链表后,有两次复写链表值的操作,利用这两次值的覆盖,第一次缓冲区溢出覆盖到下一个链表的指针为0018FEE8,在PE里事先做好了通用跳板的地址0x7798d7b,利用通用跳板,在程序执行到main ...
分类:
其他好文 时间:
2020-06-03 10:48:45
阅读次数:
74
结构体内嵌比较函数: sort( a, a+ n, cmp) 比较慢,排序有可能就TLE了 故用 结构体内嵌比较函数:Bool oprator < (const node &x) const{}排序的时候,没有参数的l,r比有参数的x.l,x.r的级别高,就相当于是比较的时候的第一个数 一个变量排序 ...
分类:
其他好文 时间:
2020-06-02 18:53:38
阅读次数:
92
题目: 给定6个矩形的长和宽wi 和 hi(1<=wi, hi<=1000),判断它们是否构成长方体的6个面。 分析 如果一组数据能构成长方体,则6个面满足: a, b a, b a, c a, c b, c b, c 其中 a<=b <= c 如果把输入的数据排序之后,很容易进行判断,即 1, 2 ...
分类:
其他好文 时间:
2020-06-02 00:12:27
阅读次数:
53
FFmpeg源码结构 libavformat *AVFormatContext是API层直接接触到的结构体,它会进行格式的封装与解封装,它的数据部分由底层提供,底层使用了AVIOContext,这个AVIOContext实际上就是为普通的I/O增加了一层Buffer缓冲区,再往底层就是URLCont ...
分类:
其他好文 时间:
2020-06-01 23:30:11
阅读次数:
70