您的位置:首页 > 理论基础 > 数据结构算法

二维数组地址的计算

2016-12-03 21:42 225 查看
在一个C语言程序中,有结构类型STUDENT的定义和结构数组allstudents的声明如下:

struct STUDENT

{

char name[8];

int number;

}

STUDENT allstudents[10][50];

allstudents是一个二维数组,它的每个元素都是包含name和number的结构类型。已知在C语言中,二维数组使用以行序为主序的存储结构,char类型占用1字节,int类型占用4字节。

假定allstudents在内存中的起始存储位置是2000,请写出计算allstudents[i][j]的存储位置的算式,并计算allstudents[3][5]的存储位置。

char类型占用1个字节,int类型占用4个字节

1x8+4=12;

所以

allstudents[i][j]的存储位置 = 2000 + (I * 50 + j) * 12

allstudents[3][5]的存储位置 = 2000 + (3 * 50 + 5) * 12 = 3860
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息