c语言的数组问题,请熟悉的朋友帮忙看看 ( 积分: 100 )

  • 主题发起人 主题发起人 Hed
  • 开始时间 开始时间
H

Hed

Unregistered / Unconfirmed
GUEST, unregistred user!
commandBuffer 为一个数组
int TMnFrm::SendMICode(unsigned char MICode, unsigned char *code, int len)
{
int rc;
int index = 0;
//Ns = Nr = 0;
CommandBuffer[index] = 0x10;
++index;
CommandBuffer[index] = 0x01;
++index;
rc = AddByte( CommandBuffer+index, (MAddr&0xFF) );
index += rc;
rc = AddByte( CommandBuffer+index, ((SAddr >> 8)&0xFF) );
index += rc;
}
Addbyte里的CommandBuffer+index是什么意思?
CommandBuffer 是一个数组,为什么可以加一个数字呢?
说明:Addbyte是个函数
 
commandBuffer 为一个数组
int TMnFrm::SendMICode(unsigned char MICode, unsigned char *code, int len)
{
int rc;
int index = 0;
//Ns = Nr = 0;
CommandBuffer[index] = 0x10;
++index;
CommandBuffer[index] = 0x01;
++index;
rc = AddByte( CommandBuffer+index, (MAddr&0xFF) );
index += rc;
rc = AddByte( CommandBuffer+index, ((SAddr >> 8)&0xFF) );
index += rc;
}
Addbyte里的CommandBuffer+index是什么意思?
CommandBuffer 是一个数组,为什么可以加一个数字呢?
说明:Addbyte是个函数
 
CommandBuffer是数组,同时没有带下标时表示CommandBuffer[0]的首指针,即等同:&CommandBuffer[0]
CommandBuffer+index,表示&CommandBuffer[index]
 
c/c++中数组的名称表示数组的起始地址,比方说声明a[5],这时a就表示a[0]在内存中的地址,a+3就表示a[3]在内存中的地址
 
后退
顶部