小编Try*_*431的帖子

引用指针(*&)语法

我正在看一段代码,它将命令从一个硬件发送到另一个硬件.下面是一个片段.

unsigned char data[3];

msg_header *mHead; //pointer of struct msg_header
mHead = (msg_header *) &data; 

mHead->startByte = START_BYTE;
mHead->ID = GET_TELEM; //0x30
mHead->length = 0;
Run Code Online (Sandbox Code Playgroud)

结构msg_header在头文件中定义.

typedef struct {
unsigned char startByte;    
unsigned char ID;
unsigned char length;   
//  unsigned char from;
} msg_header;
Run Code Online (Sandbox Code Playgroud)

有人可以解释mHead = (msg_header *) &data;实际上在做什么吗?我知道*&正在创建对指向数据的指针的引用,但为什么msg_header在parantheses中,为什么包含它?

谢谢你的帮助.

c c++ struct pointers reference

2
推荐指数
1
解决办法
146
查看次数

所有#include-ed的".h"头文件是否必须与.cpp文件位于同一文件夹中?

我正在开发一个更大的项目,很多.cpp文件都包含在不同目录中的文件,但是没有引用访问代码中的其他目录.

谢谢您的帮助.

c c++ header include header-files

1
推荐指数
1
解决办法
983
查看次数

数组下标的无效类型'unsigned char [int]'

我正在尝试使用数据字节创建CRC,我已经编写了这个函数:

u16 crcGenerate(unsigned char bytes, int len){
u16 crc = 0;
for (int i = 0; i < len; i++){
    crc = crc16__computeByteAnsi(crc, bytes[i]); }
return crc;
}
Run Code Online (Sandbox Code Playgroud)

每当调用此函数时,我都会遇到上述错误,我不太确定如何解决它,甚至是什么问题.

为了避免这个问题膨胀,我已经包含了引用的其他主要.h和.cpp文件.

这是Command头文件(cmgCOM.h)

这是计算CRC的位置(crc16.cpp)

这是主要的Command文件(cmgCOM.cpp)

我非常感谢能得到的任何帮助; 如果还有其他需要提供的信息,请告诉我.我对C/C++不是很熟悉,我不知道是什么导致了这个问题.

谢谢.

c c++ arrays types crc

1
推荐指数
1
解决办法
6200
查看次数

标签 统计

c ×3

c++ ×3

arrays ×1

crc ×1

header ×1

header-files ×1

include ×1

pointers ×1

reference ×1

struct ×1

types ×1