虚基类,如果有一个a为基类,子类b和c都继承了a,d继承了b和c,那么子类d最后会接受分别来自b和c的同一个或多个相同拷贝,从而产生了多个拷贝,即不止一次地通过多个路径继承类在内存中创建了基类成员的多分拷贝。而这些是b和c从父类继承而来,所以子类d该继承b还是c传下来的,还是都接受呢?这样就会产生歧义,虚基类的基本原则是在内存中只有基类成员的一份拷贝。这样,通过把基类继承声明为虚拟的,就只能继承基类的一份拷贝,从而消除歧义。
int a[] = {1,2,3,4,5,6,7,8,9,10}, *p = a;
p++的结果是a[3],也就是4;但是p++本身的值是a[2],即为3。
换句话说,p++后,p的值会加1,但是你在程序里加一句n=p++,就可以看到n的值还是p。
A的意思应该是p++本身的值。
如果是++p的话,值就是a[3]了。不管是p++还是++p,结果都会自增1,但是它本身的值要看加号在前还是在后。
inline是一种用于实现的关键字,而不是一种用于声明的关键字。extern用来定义外部变量,int用来定义整型变量,static用来定义静态变量。
C程序是由函数构成的,一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数,因此,函数是C程序的基本单位,故选项A错误。
C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,故选项B,D错误。
C语言规定,每个语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分。
在C程序中,分号是语句结束符。每个语句必须以分号结束,除了复合语句。它表明一个逻辑实体的结束。
编译阶段所需的信息多数从表格中读取,产生的中间结果都记录在相应的表格中,可以说整个编译过程就是造表、查表的过程。
利用汇编语言编制程序的过程中,若汇编正常通过,表示没有语法错误。汇编程序在对源程序的汇编过程中,若检查出某语句有语法错误,随时在屏幕上给出出错信息。
文件编辑的时候源码时CPP扩展名,C++头文件是.H扩展名。编译源程序文件转换成.obj扩展名的目标文件。链接将一个或多个目标文件与程序用到的库文件链接起来,形成一个可以在操作系统直接运行的执行程序.exe。
汉字输入码属于外码。
p++的值是p自增前的值,++p的值是p自增后的值。