为了账号安全,请及时绑定邮箱和手机立即绑定

请问在C语言里 [Num_Index*8+i] 是什么意思?

/ 猿问

请问在C语言里 [Num_Index*8+i] 是什么意思?

C
慕田峪7331174 2019-09-20 15:14:30

C语言里 [Num_Index*8+i] 是什么意思


查看完整描述

5 回答

?
慕粉4167745

Num_Index是个整数吧?是的话应该就是计算数组的下标,这个8可能是代表数组有8行或8列,这要看你怎么找这个下标。

查看完整回答
反对 回复 2019-09-22
?
凤凰求蛊

中括号在C语言中是一种表示数组的符号,里面可以写入unsighed int类型的索引,以此来找到相应的元素,你这里的Num_Index*8 + i就是一个算式,没有看到完整代码个人猜测一下,Num_Index可能是个常量,因此这个索引是从Num_Index*8的位置开始加上后面的I进行查找数据元素。

查看完整回答
反对 回复 2019-09-22
?
慕森卡

int在C语言中是整型变量的定义,int i就是定义一个整数变量i,在接下来的使用中i都是整数,比如你可以i=1或者其他整数,如果你让i=1.1,那么系统会报错或者自动转为i=1;a[8]是数组,int a[8]就是定义一个最多储存8个整数的数组,数组下标从0到7,当然不一定存满,但最多存储8个整数。例如下图:



查看完整回答
反对 回复 2019-09-22
?
收到一只叮咚

int i,a[8]
是在一行代码里同时声明了两个变量。
一个变量是i,类型是整形
另一个变量是a,类型是整数数组(数组的每个元素是整形),且只能放8个整数。

查看完整回答
反对 回复 2019-09-22
?
四季花海

这里i应当是一个无符号的至少2字节(4字节或8字节)的整数类型的变量,
最低字节收尾法有 则进位并清0,没有则无影响
+255会引起非0向第8bit进位,

>>8是右移会舍去低8位,值缩小了256倍
<<8是左移,值会放大256倍,左边补8个0
比如
0x1101 处理后就是 0x1200
0x1FFF 处理后成了0x2000


查看完整回答
反对 回复 2019-09-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信