red*_*lar 4 c multidimensional-array
我真正想要实现的是一组动态字节模式,当我缓冲二进制文件时,我可以将其用作模式搜索器.但我现在开始基本.我有以下代码,我基于StackOverflow上的示例.
typedef unsigned char BYTE;
int main()
{
BYTE *p[2][4] = {
{0x44,0x58,0x54,0x31},
{0x44,0x58,0x54,0x00}
};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我使用mingw32 for Windows编译它.
D:\> gcc example.c -o example.exe
Run Code Online (Sandbox Code Playgroud)
我尝试编译时收到以下警告.
example.c: In function 'main':
example.c:6:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:6:3: warning: (near initialization for 'p[0][0]') [enabled by default]
example.c:6:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:6:3: warning: (near initialization for 'p[0][1]') [enabled by default]
example.c:6:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:6:3: warning: (near initialization for 'p[0][2]') [enabled by default]
example.c:6:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:6:3: warning: (near initialization for 'p[0][3]') [enabled by default]
example.c:7:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:7:3: warning: (near initialization for 'p[1][0]') [enabled by default]
example.c:7:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:7:3: warning: (near initialization for 'p[1][1]') [enabled by default]
example.c:7:3: warning: initialization makes pointer from integer without a cast [enabled by default]
example.c:7:3: warning: (near initialization for 'p[1][2]') [enabled by default]
Run Code Online (Sandbox Code Playgroud)
我不明白这个警告的性质.我该如何解决它?谢谢.
掉落*的BYTE *p[2][4]:
BYTE p[2][4] = {
{0x44,0x58,0x54,0x31},
{0x44,0x58,0x54,0x00}
};
Run Code Online (Sandbox Code Playgroud)
你想要一个多维数组char:BYTE p[2][4]不是多维数组pointer-to-char.