typedef struct

{
char flag[3];
short value;
} sampleStruct;
union
{
char flag[3];
short value;
} sampleUnion;

假设 sizeof(char)=1,sizeof(short)=2,那么sizeof(sampleStruct) = 6 , sizeof(sampleUnion) = 4

结构体

字符型占用1字节,不需要字节对齐 
short占用2字节,需要两字节对齐 
所以sizeof(sampleStruct) = 3 *(1字节) + (1个补齐字节) + 1*(2字节) = 6 
联合体
占用大小采用成员最大长度的对齐,最大长度是short的2字节
但 char flag[3]需要3个字节
所以 sizeof(sampleUnion) = 2*(2字节) = 4
对Union结构体,sizeof的取值不仅考虑sizeof最大的成员,还要考虑对齐字节,对齐字节的取值是取成员类型字节最大值与指定对齐字节(32位机器默认是4,64位机器默认是8)两者中的较小值,本题中成员类型最大值为short,2,与指定对齐字节4比较取2,所以要2字节对齐,如果去掉short变量,则取char的1字节对齐,结果为3

文章转载自 (www.slyar.com)

KMP 算法我们有写好的函数帮我们计算 Next 数组的值和 Nextval 数组的值,但是如果是考试,那就只能自己来手算这两个数组了,这里分享一下我的计算方法吧。

计算前缀 Next[i] 的值:

我们令 next[0] = -1 。从 next[1] 开始,每求一个字符的 next 值,就看它前面是否有一个最长的"字符串"和从第一个字符开始的"字符串"相等(需要注意的是,这2个"字符串"不能是同一个"字符串")。如果一个都没有,这个字符的 next 值就是0;如果有,就看它有多长,这个字符的 next 值就是它的长度。

计算修正后的 Nextval[i] 值:

我们令 nextval[0] = -1。从 nextval[1] 开始,如果某位(字符)与它 next 值指向的位(字符)相同,则该位的 nextval 值就是指向位的 nextval 值(nextval[i] = nextval[ next[i] ]);如果不同,则该位的 nextval 值就是它自己的 next 值(nextvalue[i] = next[i])。

举个例子:

计算前缀 Next[i] 的值:

next[0] = -1;定值。
next[1] = 0;s[1]前面没有重复子串。
next[2] = 0;s[2]前面没有重复子串。
next[3] = 0;s[3]前面没有重复子串。
next[4] = 1;s[4]前面有重复子串s[0] = 'a'和s[3] = 'a'。
next[5] = 2;s[5]前面有重复子串s[01] = 'ab'和s[34] = 'ab'。
next[6] = 3;s[6]前面有重复子串s[012] = 'abc'和s[345] = 'abc'。
next[7] = 4;s[7]前面有重复子串s[0123] = 'abca'和s[3456] = 'abca'。

计算修正后的 Nextval[i] 值:

nextval[0] = -1;定值。
nextval[1] = 0;s[1] != s[0],nextval[1] = next[1] = 0。
nextval[2] = 0;s[2] != s[0],nextval[2] = next[2] = 0。
nextval[3] = -1;s[3] == s[0],nextval[3] = nextval[0] = -1。
nextval[4] = 0;s[4] == s[1],nextval[4] = nextval[1] = 0。
nextval[5] = 0;s[5] == s[2],nextval[5] = nextval[2] = 0。
nextval[6] = -1;s[6] == s[3],nextval[6] = nextval[3] = -1。
nextval[7] = 4;s[7] != s[4],nextval[7] = next[7] = 4。

以下程序段完全正确的是(c)
A.int *p;  scanf("%d",&p);

B.int *p;  scanf(“%d”,p);

C.int k, *p=&k;  scanf("%d",p);D.int k, *p;  *p= &k;   scanf(“%d”,p);

B不对 scanf中&P是整型变量空间的地址,但P没有初值,P的值是不确定的 

构造函数和析构函数声明定义的时候,都是无类型的,不能添加 void.
tcpdump是简单可靠网络监控的实用工具
top 显示活动进程方面的情况
netstat显示网络有关的信息,比如套接口使用情况、路由、接口、协议(TCP等)等
ifconfig是查看活动的网卡信息
静止就绪:这个也叫做挂起就绪,是指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起就绪态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
活动就绪:进程在主存并且可被调度的状态。
静止睡眠(阻塞):是指进程对换到辅存时的阻塞状态,一旦等待的事件产生便进入静止就绪状态
活动睡眠(阻塞):是指进程已在主存,一旦等待的事件产生便进入活跃就绪状态。
正在执行的进程由于其时间片用完被暂停执行,此时进程应从执行状态变为活动就绪状态;
处于静止睡眠状态的进程,在进程等待的事件出现后,应变为静止就绪状态;
若进程正处于执行状态时,因终端的请求而暂停下来以便研究其运行情况,这时进程应转变为静止就绪状态;若进程已处于睡眠状态,则此时应转变为静止睡眠状态。
先序序列为a,b,c,d 的不同二叉树的个数是 () 。
根据二叉树前序遍历和中序遍历的递归算法中递归工作栈的状态变化得出:前序序列和中序序列的关系相当于以前序序列为入栈次序,以中序序列为出栈次序。因为前序序列和中序序列可以唯一地确定一棵二叉树,所以题意相当于“以序列 a,b,c,d 为入栈次序,则出栈序列的个数为?”,对于 n 个不同元素进栈,出栈序列的个数为 =14 。(卡特兰数)
结构体内存对齐规则(请记住三条内存规则(在没有#pragam pack宏的情况下)

结构体所占用的内存与其成员在结构体中的声明顺序有关,其成员的内存对齐规则如下:

(1)每个成员分别按自己的对齐字节数和PPB(指定的对齐字节数,32位机默认为4)两个字节数最小的那个对齐,这样可以最小化长度。如在32bit的机器上,int的大小为4,因此int存储的位置都是4的整数倍的位置开始存储。

(2)复杂类型(如结构)的默认对齐方式是它最长的成员的对齐方式,这样在成员是复杂类型时,结构体数组的时候,可以最小化长度。

(3)结构体对齐后的长度必须是成员中最大的对齐参数(PPB)的整数倍,这样在处理数组时可以保证每一项都边界对齐。

(4)结构体作为数据成员的对齐规则:在一个struct中包含另一个struct,内部struct应该以它的最大数据成员大小的整数倍开始存储。如 struct A 中包含 struct B, struct B 中包含数据成员 char, int, double,则 struct B 应该以sizeof(double)=8的整数倍为起始地址。

转载于:https://www.cnblogs.com/tsunami-lj/p/6417186.html

牛客网刷题知识汇总3相关推荐

  1. 牛客网刷题知识汇总2

    构造函数不能声明为虚函数,析构函数可以声明为虚函数,且有时候必须声明为虚函数.构造函数和析构函数都不能调用虚函数. 先析构子类再析构父类,如果父类析构函数有虚函数,会导致调用子类的已经析构的内容. 先 ...

  2. verilog牛客网刷题代码汇总

    verilog牛客网刷题代码汇总 作者:安静到无声 个人主页 作者简介:人工智能和硬件设计博士生.CSDN与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇. Thanks♪(・ω・)ノ 如果 ...

  3. 牛客网 刷题前的准备工作(输入 输出 如何接收?)

    牛客网 刷题前的准备工作 牛客网 刷题前的准备工作 1. 数据读取接受问题 2.牛客刷题前的准备: 2.1. 弄清楚输入输出的行数关系 3.代码怎么写 3.1. 在牛客上测试自己的模板代码,是否能正确 ...

  4. 【牛客网刷题】中秋节前开启java专项练习错题总结第一天

    [牛客网刷题]中秋节前开启java专项练习错题总结第一天 概述 写在前面 错题分析 值得记录的错题 总结 写在最后 概述 还有十几天就到中秋节了,从此又老了一岁,也多了一年的知识积累.对于这样一个特殊 ...

  5. 牛客网刷题记录 || 结构体和类

    这是牛客网刷题记录专栏第五篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统.题库.课程教育.社群交流.招聘内推于一体的优质网站,牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人 ...

  6. 牛客网刷题之SQL篇:非技术快速入门39T

    导航 前序 一.简单的关键字练习 1-10 二.知识点复习之 ==运算符== 1.算数运算符 2.比较运算符 3.逻辑运算符 4.位运算符 三.10-28T 0.简单题总结 1. SQL18 ==分组 ...

  7. 2023年大年初一 —— 牛客网刷题经验分享~

    2023年大年初一 -- 牛客网刷题经验分享~

  8. 牛客网刷题记录 || 循环

    这是牛客网刷题记录专栏第七篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统.题库.课程教育.社群交流.招聘内推于一体的优质网站,牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人 ...

  9. 牛客网刷题 --- 输入输出数据处理

    正确处理输入输出格式 常见的输入格式: 预先不输入数据的组数 - 直接读到文件结尾 预先输入数据的组数 - 读数据组数然后循环 只有一组数据 - 直接读数据 处理输出格式要注意细节,看题目的具体要求 ...

最新文章

  1. 高温保护_连续4天高温预警!高温作业,这些劳动保护知识一定要懂!
  2. 网络推广——网络推广如何安排网站关键词的布局策略?
  3. Jquery的集合方法EACH()
  4. Asp.net page 绑定及访问数据
  5. JZOJ 5489. 【清华集训2017模拟11.28】海明距离
  6. NoSQL之【Redis】学习(二):配置说明
  7. 前端/JS笔记-利用JS/正则判断input是否存数字以及字母加数字
  8. crypto在web的使用
  9. 补:关于man关于SEE ALSO(参见)中代号与vim下常用命令
  10. php 是否支持json,php json 支持汉语
  11. 三菱MDS-D-SVJ3-10/20/10NA/20NA伺服驱动器
  12. opencv+ArcFace人脸识别
  13. 怎样恢复内存卡的视频文件?(图文操作解析)
  14. ObjectAnimator旋转动画
  15. 二维码 编码原理简介
  16. 深度学习:蒸馏Distill
  17. 图片编辑工具哪个好?好用的图片编辑工具介绍
  18. 大连医科大学中山学院模拟医院信息系统实验室建设完成
  19. mac退出linux命令行,mac/Linux日常入门命令行使用
  20. python fsolve说明_在python中使用fsolve时形状不匹配

热门文章

  1. Access to XMLHttpRequest at file from origin ‘null‘ has been blocked by CORS policy谷歌浏览器本地打开项目js文件报错
  2. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
  3. 最优化方法系列:Adam+SGD-AMSGrad 重点
  4. 卷积神经网络通俗解读
  5. LeetCode简单题之二叉树的最大深度
  6. LeetCode简单题之仅执行一次字符串交换能否使两个字符串相等
  7. LeetCode简单题之自除数
  8. 浅析Spring——控制反转IoC
  9. 机器学习PAI产品架构
  10. TVM部署和集成Deploy and Integration