以下程序的输出是()。 3,2
struct HAR { int x,y;struct HAR *p;} h[2];
vold main()
{
h[0].x=1;h[0].y=2;
h[1].x=3;h[1].y=4;
h[0].p=&h[1];h[1].p=h;
printf("%d,%d \n",(h[0].p)->x,(h[1].p)->y);
}
h是大小为2的结构体数组,对其两个元素
进行赋值后得内存映像如图1-1所示,其输出结果应为3,2。
、
下列有关this指针使用方法的叙述正确的是()
this是指向实例化对象本身时候的一个指针,里面存储的是对象本身的地址,通过该地址可以访问内部的成员函数和成员变量。 为什么需要this?因为this作用域是在类的内部,自己声明一个类的时候,还不知道实例化对象的名字,所以用this来使用对象变量的自身
虚函数可不可以重载为内联? 不可以
虚函数不可以内联,因为虚函数是在运行期的时候确定具体调用的函数,内联是在编译期的时候进行代码展开,两者冲突,所以没有一起使用的做法。
C++不能重载的总共五个: (1) "."(类成员访问运算符) (2)" .*"(类成员指针访问运算符) (3) "::"(域运算符) (4)"siezof"(长度运算符) (5) " ?:"(条件运算符)
若有以下定义和语句:int
a[
10
]={
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
},*p=a;
则不能表示a数组元素的表达式是
选B
A的值为1
B越界
C和A相同
D p-a地址相减为0,访问数组第一个元素
给定如下代码: int x[4]={0}; int y[4]={1}; 数组x和y的值为()
如果初始化时指定的的元素个数比数组大小少, 剩下的元素都会被初始化为 0
图的广度优先搜索算法需使用的辅助数据结构为() 队列
广度优先用队列,深度优先用栈
广度优先:当一个节点被加入队列时,要标记为已遍历,遍历过程中,对于队列第一个元素,遍历其所有能够能一步达到的节点,如果是标记未遍历的,将其加入队列,从第一个元素出发所有能一步直接达到的节点遍历结束后将这个元素出列。
深度优先:当遍历到某个节点A时,如果是标记未遍历,将其入栈,遍历它能够一步直接达到的节点,如果是标记未遍历,将其入栈且标记为已遍历,然后对其进行类似A的操作,否则找能够一步直接达到的节点进行类似操作。直到所有能够一步直接达到的节点都已遍历,将A出栈。
这里使用“能够能一步达到的节点”而非“与其相邻的节点”是考虑到有向图因素。
下列关于数组与指针的区别描述正确的是?
B.sizeof(数组名)就是数组的容量