반응형

C 33

C 스타일 언어에서 익명 {}개 블록의 목적은 무엇입니까?

C 스타일 언어에서 익명 {}개 블록의 목적은 무엇입니까? C 스타일 언어(C, C++, C#)에서 익명 {}개 블록의 용도는 무엇입니까? 예 - void function() { { int i = 0; i = i + 1; } { int k = 0; k = k + 1; } } 편집 - 훌륭한 답변을 주셔서 감사합니다!변수의 범위를 {} 내부의 블록으로 제한합니다.대괄호는 범위 영역을 지정합니다. 대괄호 내에서 선언된 모든 항목은 대괄호 밖에서 보이지 않습니다. 또한 C++에서 스택에 할당된 객체(예: 'new'를 사용하지 않음)는 범위를 벗어나면 파괴됩니다. 경우에 따라 작성자가 소스를 보는 사람들에게 주의를 기울일 가치가 있다고 느끼는 기능의 특정 부분을 강조하는 방법이 될 수도 있습니다.이것이 좋은 용..

code 2023.06.12

C/Unix에 대한 인수 구문 분석 도우미

C/Unix에 대한 인수 구문 분석 도우미 다음 사항을 알고 있습니다. 존귀한 사람들getopt(3) 확장된getopt_long glibc의 유닉스 스타일 인수 벡터용 파서 그놈 프로젝트의 팝트(또는 글리브의 정신적 후계자) 사용하거나 들어보지 못한 것이 더 많을 것입니다. 빠른 구글 검색을 통해 Gopt, argtable 및 Optlist가 표시됩니다. 저는 개인적으로.argp가장 좋고, 그리고 내가 쓴 모든 프로그램들을 사용합니다.getopt/getopt_long(특정 복잡도 기준선을 기준으로) 사용하도록 변환되었습니다.argp보다 광범위하게 사용할 수 있습니다.popt보다 더 강력한getopt_long문서화가 잘 되어 있고, 모든 GNU 스타일의 규약과 일치하며, 매우 유연합니다.단점으로는, 그것은..

code 2023.06.07

C에서 변수 이름을 얻는 프로그래밍 방식?

C에서 변수 이름을 얻는 프로그래밍 방식? 변수에서 데이터를 덤프하는 도구를 개발하고 있습니다.변수 이름과 값을 덤프해야 합니다. 내 솔루션:변수 이름을 문자열로 저장하고 "변수 이름"을 인쇄한 다음 값을 인쇄합니다. 변수 이름을 알 수 있는 프로그래밍 방식이 있습니까?다음과 같은 방법을 사용할 수 있습니다. #define DUMP(varname) fprintf(stderr, "%s = %x", #varname, varname); 제가 C를 처음 사용했을 때 제가 쓴 이 헤더는 유용한 아이디어를 포함하고 있을 수도 있습니다.예를 들어 C 값을 인쇄하고 형식 지정자를 하나로 제공할 수 있습니다(일부 추가 정보도 제공). #define TRACE(fmt, var) \ (error_at_line(0, 0, _..

code 2023.06.07
반응형