3
내가 실제로 달성하고자하는 것은 이진 파일을 버퍼링 할 때 패턴 검색 자로 사용할 수있는 동적 바이트 패턴의 배열입니다. 하지만 지금은 기초부터 시작하고 있습니다. StackOverflow에있는 예제를 기반으로 다음 코드를 작성했습니다.서명되지 않은 char 배열을 초기화하는 방법은 무엇입니까?
typedef unsigned char BYTE;
int main()
{
BYTE *p[2][4] = {
{0x44,0x58,0x54,0x31},
{0x44,0x58,0x54,0x00}
};
return 0;
}
How to Initialize a Multidimensional Char Array in C?
나는 Windows 용 mingw32로 컴파일.D:\> gcc example.c -o example.exe
컴파일 할 때 다음과 같은 경고가 표시됩니다.
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]
이 경고의 성격을 이해하지 못합니다. 어떻게 해결할 수 있습니까? 감사.
와우. 그렇게 쉬운 수정이었습니다. 궁금해. 내가 링크 된 예제가 내가 찾고있는 것과 매우 비슷한 모양의 포인터를 사용했을 때 포인터를 왜 드롭합니까? – redsolar
@ redsolar 그 코드에서 가장 안쪽에있는 요소는 그 자체로 배열 (''00 "')입니다. – cnicutar
오. 나는 지금 본다. 문제를 해결하고 답변 해 주셔서 감사합니다. 매우 감사. – redsolar