본문 바로가기

C

(4)
[Algorithm] 특정 대상을 검색하는 효율적인 방법 http://stackoverflow.com/questions/34481582/efficient-way-to-search-an-element Q: 특정 대상을 검색하는 효율적인 방법최근에 면접을 봤는데, "검색"에 대한 질문을 받았습니다.문제는 아래와 같습니다. 정수의 배열 (양의 정수)이 있다고 가정합니다. 각각의 요소는 옆에 붙어있는 요소와 비교할 때, +1 이거나 -1입니다.예:array = [4,5,6,5,4,3,2,3,4,5,6,7,8]이제 7을 찾아서 그 위치를 반환하세요. 저는 이렇게 답했습니다.배열의 값을 임시배열에 저장하고, 한 번 정렬합니다. 그리고 바이너리 서치를 수행합니다.만약 해당 요소가 발견되면, 그 값과 위치를 리턴합니다.(만약 해당 요소가 두 번 발견된다면, 처음 발견한 것의..
[C] ??!??! 연산자가 무슨 의미인가요? http://stackoverflow.com/questions/7825055/what-does-the-c-operator-do Q: ??!??! 연산자가 무엇인가요?아래와 같은 C코드 한 라인를 보았습니다.!ErrorHasOccured() ??!??! HandleError();이 코드는 정상적으로 컴파일이 되었고, 실행도 잘 되었습니다. 에러가 났는지 체크를 하고, 만약 에러가 났다면 그걸 처리하는 코드 같습니다. 하지만 이게 진짜로 무슨 뜻인지, 아니 그보다 이게 이런 코드가 동작하는지 이해가 안됩니다. 마치 개발자가 이 에러를 만났을 때의 기분을 표현한 코드처럼 보일 지경입니다.저는 ??!??!연산자를 한 번도 본적이 없고, 다른 언어에서도 마찬가지로 못봤습니다. 그리고 이와 관련된 문서도 전혀 찾아..
[C] --> 오퍼레이터를 뭐라고 부르죠? http://stackoverflow.com/questions/1642028/what-is-the-name-of-the-operator?rq=1 Q: --> 오퍼레이터를 뭐라고 부르죠?아래와 같은 코드를 보았습니다. --> 오퍼레이터를 를 뭐라고 부르죠?"while( x--> 0)"(질문자: GManNickG) A: 그거 오퍼레이터 아닙니다. 그냥 -- 연산을 한 뒤, 크기비교를 > 이 연산자로 한 것 뿐입니다.(답변자: Potatoswatter) What is the name of the “-->” operator?up vote4694down votefavorite1138After reading Hidden Features and Dark Corners of C++/STL on comp.lang.c++..
[C] C언어에서, 메모리 포인터를 해제하기 전에 캐스팅해야 하는 이유? http://stackoverflow.com/questions/34019977/in-c-why-do-some-people-cast-the-pointer-before-freeing-it Q: C언어에서, 어떤 사람들은 메모리 포인터를 해제하기 전에 캐스팅을 합니다. 왜 그런가요?메모리를 해제할 때 free를 이용하게 되는데, 각 포인터는 자신의 타입을 가지고 있습니다. 그런데 왜 캐스팅을 해줘야 하죠? 이런 일을 하는 뭔가 기술적인 이유가 있나요? (질문자: Dr. Person Person II) A : const로 할당된 dynamic 메모리를 해제할 때, 컴파일러가 에러를 발생시키는 경우가 있습니다. 이 경우 캐스팅을 해주면 컴파일 에러를 막을 수 있습니다. (답변자:Manos Nikolaidis)->..