C++笔试题练习笔记

本文介绍了C++中函数指针的使用方式、struct与union的内存对齐规则、printf格式控制符的应用、构造函数特性、二叉树遍历顺序、数组定义规范及指针与数组的区别等知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、函数指针

    已知fun(int)是类Test的公有成员函数,p是指向成员函数fun()的指针,则p=&Test::fun。

2、struct和union内存对齐问题

   规则:1)可以使用#pragma pack(n),n=1,2,4,8,16来规定对齐系数。

            2)每个结构体数据成员,将其类型的大小与n作比较,取较小值作为真正的对齐系数。之前所有数据成员大小必须是对齐系数的整数倍,否则在前面先增加大小,补齐整数倍。

            3)对于整个结构体,取结构体内最大的数据类型,将其与n作比较,选出最较小的作为对齐系数,然后看整个结构体大小是否是对齐系数的整数倍,如果不是,则增加结构体大小。

如:    

//其中int为4字节   char为1字节
struct _THUNDER{
       int iVersion;
       char cTag;
       char cAdv;
       int iUser;
       char cEnd;
}Thunder;
int sz = sizeof(Thunder);

其大小为:4   1   1   (3)  4   1   ((2)) = 16

//其中char为1字节,int为2字节,float为4字节

struct stu

{

union{

char bj[5];

int bh[2];

} class;

char xm[8];

float cj;

}xc;

其大小为: 5   ((1))   8   (2)   4

3、printf的格式控制符中%%表示打印%字符

4、构造函数不能是虚函数

5、二叉树遍历:中序(左根右) 前序(根左右)  后序(左右根)

6、定义数组时不能省略第二维或者更高维的大小

7、指针数组和数组的指针

char (*a) [10] ;   指向数组的指针
 
char *a [10] ;     指针数组




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值