问两道C语言的题

2025-06-27 07:39:48
推荐回答(3个)
回答1:

year,month,day 都是int类型有两个字节 一起加起来就是6个字节了,t中有20个单元 就有了20*6=120;
*p[3]是一个指针数组,数组中的每一个元素都是一个指针,指向数组每一行的首地址,当p[0]=a[1]时,说明p[0]是指向a[1][0],当p[0]+1就是将指针向后移动了一个元素,即为a[1][1].

回答2:

sizeof是求一个对象的字节数,t表示的是一个有20个date变量的数date数组,每个数组有3个变量:year,month,day。这样一个t[i](i=0到19的任一个数)就是6个字节,20个就是120字节。
第二题a[3][2]表示一个二维数组,也可以这样去理解它,a[0],a[1],a[2]分别指向一个拥有2个变量的一维数组。*p[3]指的是3个指向一维数组的变量。a[1]表示的是a[1]指向的那个一维数组的首地址,也就是a[1][0]的地址,a[1]+1后就是a[1][1]的地址了

回答3:

第一题struct占的字节数是所包含的所有字节数相加。因为其中包含了三个int型的量。而int型在VC6.0中占两个字节。所以一个struct型结构体是6个字节。t[20}表示有20个struct型的结构体变量。sizeof是求字节数的函数。所以20X6=120
第二题a[3][2]表示一个二维数组,也可以这样去理解它,a[0],a[1],a[2]分别指向一个拥有2个变量的一维数组。*p[3]指的是3个指向一维数组的变量。a[1]表示的是a[1]指向的那个一维数组的首地址,也就是a[1][0]的地址,a[1]+1后就是a[1][1]的地址了。。。希望能帮到你