반응형

C 59

while(1)과 while(2) 중 어느 쪽이 빠릅니까?

while(1)과 while(2) 중 어느 쪽이 빠릅니까? 이것은 상급 매니저의 인터뷰 질문이었습니다. 어느 쪽이 빠릅니까? while(1) { // Some code } 또는 while(2) { //Some code } 모두 실행속도가 같다, 라는과 같이 실행속도가 . 안에 있는 표현처럼요.while으로 true ★★★★★★★★★★★★★★★★★」false이에는 둘 다 ' 쪽인가', '어느 쪽인가', '어느 쪽인가?true는 따로 .while둘 다 (1)이.따라서 둘 다 동일한 실행 속도를 가지며, 저는 (1)을 선호합니다. 하지만 면접관은 자신 있게 말했다. 기 "? while(1)while(2).) (그는 나의 자신감을 시험하지 않았다.) 정말이에요? 참고 항목: "for(;)"가 "while(TRU..

source 2022.08.27

포인터가 C를 가리키고 있는 함수를 판별하고 있습니까?

포인터가 C를 가리키고 있는 함수를 판별하고 있습니까? 난 작동에 대한 포인터가 있어. 어떤 서명이라도 가정해봐.그리고 같은 시그니처의 5가지 기능이 있습니다. 실행 시 이들 중 하나가 포인터에 할당되어 해당 함수가 호출됩니다. 이러한 기능에 인쇄문을 삽입하지 않고 포인터가 현재 가리키는 기능의 이름을 어떻게 알 수 있을까요?포인터가 가리키는 5가지 기능 중 어떤 것이 있는지 확인해야 합니다. if (func_ptr == my_function1) { puts("func_ptr points to my_function1"); } else if (func_ptr == my_function2) { puts("func_ptr points to my_function2"); } else if (func_ptr == ..

source 2022.08.21

C/C++에서 typedefs에 #ifndef와 유사한 지시어가 있습니까?

C/C++에서 typedefs에 #ifndef와 유사한 지시어가 있습니까? 값을 정의하지 않은 경우에만 값을 정의하는 경우 다음과 같이 수행합니다. #ifndef THING #define THING OTHER_THING #endif 면 어쩌지THING는 입니다.typedefidentifier, definedd identifier는 정의되지 않았습니까?는 이런 걸 싶어요. #ifntypedef thing_type typedef uint32_t thing_type #endif 은 외부 확인하고 싶었기 입니다.boolean좀 더 일반적인 해결책을 들을 수 있다면 좋을 텐데언어에는 그런 것이 없고, 그럴 필요도 없다.단일 프로젝트 내에서 ODR 위반이므로 다른 유형을 참조하는 동일한 typedef 에일리어스를 ..

source 2022.08.21

도트(".") 연산자와 화살표("->") 연산자가 C와목표-C

도트(".") 연산자와 화살표("->") 연산자가 C와목표-C C와 C의 사용법과 구문의 차이점에 대해 설명하겠습니다.목적-C특히 점 연산자와 화살표 연산자의 용도가 C와 왜 다른지 알고 싶습니다.목적-C여기 간단한 예가 있습니다. C 코드: // declare a pointer to a Fraction struct Fraction *frac; ... // reference an 'instance' variable int n = (*frac).numerator; // these two expressions int n = frac->numerator; // are equivalent 목표-C 코드: // declare a pointer to a Fraction Fraction *frac = [[Fracti..

source 2022.08.21

PDF 형식의 C89/C90 표준은 어디에서 찾을 수 있습니까?

PDF 형식의 C89/C90 표준은 어디에서 찾을 수 있습니까? C89/C90 스탠다드의 무료 카피 버전을 찾고 있습니다만, 어디에서도 찾을 수 없습니다!왜 찾기가 그렇게 어렵죠? C99 및 C11 표준은 인터넷에서 매우 쉽게 복사본을 얻을 수 있습니다.스택 오버플로우 질문에서도 현재 C 또는 C++ 표준 문서는 어디서 찾을 수 있습니까?그리고 C Standard, Getting the Standard에는 제가 찾고 있는 내용이 포함되어 있지 않습니다. 웹 검색은 도움이 되지 않았고 개방형 표준도 도움이 되지 않았습니다.C89, C99 및 C11의 HTML 버전과 생성된 공식 초안 PDF 파일을 다음에서 찾을 수 있습니다. http://port70.net/~nsz/c/ C89/C90, C99 및 C11 ..

source 2022.08.19

char* 포인터에는 문자열을 할당할 수 있지만 char[] 배열에는 할당할 수 없는 이유는 무엇입니까?

char* 포인터에는 문자열을 할당할 수 있지만 char[] 배열에는 할당할 수 없는 이유는 무엇입니까? 이게 왜 포인터로 동작하는지 설명 좀 해주시겠어요? char * str1; str1 = "Hello1"; str1 = "new string"; // but not this char str2 [] = "hello"; str2 = "four"; // or this char str3 []; str3 = "hello"; str3 = "hello"; 포인터로 동작하는 이유: 당신이 말할 때char * str1C 에서는, 메모리내의 포인터를 할당하고 있습니다.글을 쓸 때str1 = "Hello";메모리내에 문자열 리터럴을 작성해, 포인터가 그것을 가리키게 합니다.다른 문자열 리터럴을 작성하는 경우"new str..

source 2022.08.19

gcc 프리프로세서 출력에서 해시 기호와 #1 "a.c"와 같은 숫자로 시작하는 행의 의미는 무엇입니까?

gcc 프리프로세서 출력에서 해시 기호와 #1 "a.c"와 같은 숫자로 시작하는 행의 의미는 무엇입니까? C 프리프로세서의 출력을 출력합니다. gcc -E a.c 출력에는 다음과 같은 행이 다수 포함되어 있습니다. # 1 "a.c" # 1 "" # 1 "" # 1 "a.c" # 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 1 3 # 19 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 3 # 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 1 3 # 31 "c..

source 2022.08.19

C를 위한 스마트 포인터/안전한 메모리 관리

C를 위한 스마트 포인터/안전한 메모리 관리 저나 다른 많은 사람들은 스마트 포인터를 사용하여 안전하지 않은 메모리 작업을 C++로 정리하고 RAII 등을 사용하여 큰 성공을 거뒀다고 생각합니다.단, 랩 메모리 관리는 디스트럭터, 클래스, 연산자 오버로드 등이 있는 경우 구현이 용이합니다. raw C99로 글을 쓰는 사람에게 안전한 메모리 관리에 도움이 되는 (말장난 의도가 없는) 장소를 알려주실 수 있습니까? 고마워요.질문이 좀 오래되었지만 GNU 컴파일러용 스마트 포인터 라이브러리(GCC, Clang, ICC, MinGW 등)에 링크하는 데 시간을 할애해야겠다고 생각했습니다. 이 실장은 범위를 벗어나면 메모리를 자동으로 해방시키기 위해 Cleanup variable 속성인 GNU 확장에 의존합니다.따..

source 2022.08.19

C의 객체 지향 프로그래밍

C의 객체 지향 프로그래밍 이 질문에는 이미 답변이 있습니다. 객체 지향 패턴(C) (4개의 답변) 닫힘작년. 중복 가능성: 오브젝트 지향 코드를 C로 쓸 수 있나요? 객체 지향 패턴(C) 얼마 전 누군가(Linus Torvalds였던 것 같다)가 C++가 얼마나 끔찍한 언어인지, C로 객체 지향 프로그램을 작성하는 방법에 대해 이야기한 것을 읽은 기억이 난다.곰곰이 생각해 본 결과, 모든 오브젝트 지향의 개념이 C로 어떻게 계승되는지 잘 모르겠습니다.어떤 것들은 꽤 명백하다.예를 들어 다음과 같습니다. 멤버 함수를 에뮬레이트하기 위해 함수 포인터를 구조체에 넣을 수 있습니다. 다형성을 에뮬레이트하기 위해 예를 들어 다음과 같이 다양한 수의 인수를 사용하고 부두(voodoo)를 실행하는 함수를 작성할 수..

source 2022.08.18
반응형