IT

C의 하드코드 바이트 배열

itgroup 2023. 10. 10. 20:15
반응형

C의 하드코드 바이트 배열

네트워크 응용 프로그램 디버깅 중입니다.

애플리케이션이 작동하기 위해서는 교환된 데이터 중 일부를 시뮬레이션 해야 합니다.C++에서는 다음과 같은 작업을 할 수 있습니다.

char* myArray = { 0x00, 0x11, 0x22 };

하지만 이 구문에 해당하는 C를 찾을 수 없는 것 같습니다.

기본적으로 배열을 하드 코딩된 값으로 채우고 싶습니다.

C에서도 같은 일을 할 수 있지만, 타입을 선언해야 합니다.char[],것은 아니다.char*, 당신이 그것의 사이즈를 얻을 수 있도록 하기 위해.sizeof연산자:

char myArray[] = { 0x00, 0x11, 0x22 };
size_t myArraySize = sizeof(myArray);  // myArraySize = 3

완성도를 위해 C99를 사용하면 복합 리터럴을 사용할 수도 있습니다.


    char *myArray = (char []) {0x00, 0x11, 0x22 };

C++에 대한 소스 코드 호환성이 요구되는 경우, 이 컨스트럭트는 C++ 표준의 일부가 아닌 - 가짜이기 때문에 사용하지 않는 것이 컨스트럭트는 C++ 표준의 일부가 아니기 때문입니다.

사용해 보기:

char myArray[] = { 0x00, 0x11, 0x22 };

Doesn't.

char myArray[] = {0x00, 0x01,0x02};

일?

언급URL : https://stackoverflow.com/questions/883659/hardcode-byte-array-in-c

반응형