day23 结构体

(1).若有说明和定义:

  typedef int *integer;

  integer p,*q;

则下列叙述正确的是【C】

(A).q是基类型位int的指针变量

(B).p是int型变量

(C).p是基类型为int的指针变量

(D).程序中可用integer代替类型名int

分析:对integer返回类型为int*的类型名重命名为p,因此就相当于【int *p】,又通过integer定义了*q,因此就相当于定义了一个指针的指针【int **q】。

(2).有如下定义:

day23 结构体

以下对内嵌结构体成员的引用形式错误的是【A】

(A).ps.birth.y

(B).s.birth.y

(C).ps->birth.y

(D).(*ps).birth.y

分析:*ps=&s  ===》》定义了一个指针ps存结构体s的地址,(*ps)是对其解引用操作,而(*ps)就等于s

(3).有下列程序:

day23 结构体

 程序执行后的输出结果是【A】

(A).zhao,m,85,90,qian,f,95,92

(B).zhao,m,85,90,zhao,m,85,90

(C).qian,f,95,92,qian,f,95,92

(D).qian,f,95,92,zhao,m,85,90

(4).有以下程序:

day23 结构体

程序执行后的输出结果是【C】

(A).zhao,m,85,sun,f,90

(B).sun,f,90,sun,f,90

(C).sun,f,90,zhao,m,85

(D).zhao,m,85,zhao,m,85

分析:取a的地址进入函数,函数中将c的地址赋值给a的地址,因此a指针指向的是c的地址,而c内部的值赋值给c地址内的值,则值不改变。退出函数时,由于并没有对a地址内的值进行改变,而只是更改了以下指向的空间。所以a地址内的值还是原来的值。

上一篇:内容分发网络(Content Delivery Network,CDN)


下一篇:Day23 并发编程(下)