반응형
이게 뭐야?255] =" 구문을 C로 표시합니까?
js0n.c에 대한 참조
코드 구문은 다음과 같습니다.
static void *gostruct[] =
{
[0 ... 255] = &&l_bad,
['\t'] = &&l_loop, [' '] = &&l_loop, ['\r'] = &&l_loop, ['\n'] = &&l_loop,
['"'] = &&l_qup,
[':'] = &&l_loop, [','] = &&l_loop,
['['] = &&l_up, [']'] = &&l_down, // tracking [] and {} individually would allow fuller validation but is really messy
['{'] = &&l_up, ['}'] = &&l_down,
['-'] = &&l_bare, [48 ... 57] = &&l_bare, // 0-9
[65 ... 90] = &&l_bare, // A-Z
[97 ... 122] = &&l_bare // a-z
};
........
.......
l_bad:
*vlen = cur - json; // where error'd
return 0;
........
........
여기서 무슨 일이 벌어지고 있는지 누가 설명해 줄 수 있나요?구문이란[0 ... 255]
그리고.&&l_bad
여기서 할까요?
...
GCC에 의해 제공되는 확장입니다.
https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html#Designated-Inits
요소의 범위를 동일한 값으로 초기화하려면
[first ... last] = value
이것은 GNU 확장입니다.예를들면,int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };
&&
또 다른 확장자입니다.
https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html#Labels-as-Values
단항 연산자를 사용하여 현재 함수(또는 포함 함수)에 정의된 라벨의 주소를 얻을 수 있습니다.
&&
. 값에 유형이 있습니다.void *
이 값은 상수이며 해당 유형의 상수가 유효한 경우 사용할 수 있습니다.예를 들어 다음과 같습니다.void *ptr; /* ... */ ptr = &&foo;
언급URL : https://stackoverflow.com/questions/30388594/what-is-this-0-255-syntax-in-c
반응형
'source' 카테고리의 다른 글
vuej + vuex 폼 처리의 올바른 방법은 무엇입니까? (0) | 2022.08.13 |
---|---|
v-on: vue-multicelect에 변경이 적용되지 않음 (0) | 2022.08.13 |
vuejs 애플리케이션에 오픈레이어 통합 (0) | 2022.08.13 |
메모리가 부족하여 Out Of Memory Error를 발생시킬 수 없는 경우 어떻게 됩니까? (0) | 2022.08.13 |
JComboBox 선택 변경 수신기? (0) | 2022.08.13 |