«c» 태그된 질문

C는 시스템 프로그래밍 (OS 및 임베디드), 라이브러리, 게임 및 크로스 플랫폼에 사용되는 범용 프로그래밍 언어입니다. 이 태그는 달리 지정하지 않는 한 ISO 9899 표준 (최신 버전, 9899 : 2018, C89, c99, c11 등으로 버전 별 요청에 태그 지정)에 정의 된대로 C 언어와 관련된 일반적인 질문과 함께 사용해야합니다. C는 C ++과 구별되며 합리적인 이유없이 C ++ 태그와 결합해서는 안됩니다.

13
malloc () 및 free ()는 어떻게 작동합니까?
방법 malloc과 free작업 을 알고 싶습니다 . int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } 가능한 경우 대답이 메모리 수준에서 …


18
C에서“등록”키워드?
무엇을 않는 registerC 언어에서 할 키워드? 최적화에 사용되었지만 표준에 명확하게 정의되어 있지 않다는 것을 읽었습니다. 여전히 관련이 있습니까? 그렇다면 언제 사용 하시겠습니까?
272 c  memory  keyword 

4
공유 객체 (.so), 정적 라이브러리 (.a) 및 DLL (.so)의 차이점은 무엇입니까?
나는 리눅스 라이브러리와 관련하여 토론에 참여했으며, 몇 가지 사항을 확인하고 싶습니다. 응용 프로그램을 작성할 때 라이브러리를 사용하는 두 가지 방법이 있다는 것이 내 이해 (잘못되면 수정하고 나중에 게시물을 편집 할 것입니다)입니다. 정적 라이브러리 (.a 파일) : 링크 타임에 전체 라이브러리의 복사본이 최종 응용 프로그램에 저장되므로 라이브러리 내의 함수를 항상 호출 …
272 c++  c  linux  dll  linker 

13
C에서 열거 형 (enum)을 정의하는 방법은 무엇입니까?
C 열거 형을 사용하기위한 올바른 구문이 무엇인지 잘 모르겠습니다. 다음 코드가 있습니다. enum {RANDOM, IMMEDIATE, SEARCH} strategy; strategy = IMMEDIATE; 그러나 이것은 다음 오류와 함께 컴파일되지 않습니다. error: conflicting types for ‘strategy’ error: previous declaration of ‘strategy’ was here 내가 뭘 잘못하고 있죠?
272 c  enums 



23
프로그램이 실행되는 디렉토리는 어떻게 얻습니까?
C / C ++를 사용하여 프로그램이 실행되고있는 디렉토리의 전체 경로를 가져 오는 플랫폼에 구애받지 않고 파일 시스템에 구애받지 않는 방법이 있습니까? 현재 작업 디렉토리와 혼동하지 마십시오. (clib 또는 STL과 같은 표준 라이브러리가 아닌 경우 라이브러리를 제안하지 마십시오.) (플랫폼 / 파일 시스템과 무관 한 방법이 없다면, 특정 파일 시스템에 대해 Windows …
269 c++  c  working-directory 

30
"if"체인을 피하는 방법?
이 의사 코드가 있다고 가정합니다. bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); executeStepX이전의 성공한 경우에만 함수 를 실행해야합니다. 어쨌든 executeThisFunctionInAnyCase함수는 마지막에 호출되어야합니다. 나는 프로그래밍의 초보자이기 때문에 매우 기본적인 질문에 대해 유감스럽게 생각합니다 if. 코드 …

8
파일을 열면 실제로 무엇을합니까?
적어도 내가 사용하는 모든 프로그래밍 언어에서 파일을 읽거나 쓰려면 먼저 파일을 열어야합니다. 그러나이 열린 작업은 실제로 무엇을합니까? 일반적인 기능에 대한 매뉴얼 페이지는 실제로 '읽기 / 쓰기를 위해 파일을 여는 것'이외의 것을 말하지 않습니다. http://www.cplusplus.com/reference/cstdio/fopen/ https://docs.python.org/3/library/functions.html#open 분명히 함수를 사용하면 파일에 쉽게 액세스 할 수있는 일종의 객체 생성이 필요하다는 것을 알 수 …
266 c  linux 


3
C에 화살표 (->) 연산자가 존재하는 이유는 무엇입니까?
도트 ( .) 연산자는 구조체 ->의 멤버에 액세스하는 데 사용되고 C 의 화살표 연산자 ( )는 해당 포인터가 참조하는 구조체의 멤버에 액세스하는 데 사용됩니다. 포인터 자체에는 도트 연산자로 액세스 할 수있는 멤버가 없습니다 (실제로는 가상 메모리의 위치를 ​​설명하는 숫자이므로 멤버가 없습니다). 따라서 포인터 (포인팅 시간 afaik에서 컴파일러에 알려진 정보)에서 포인터를 …
264 c  pointers  dereference 

14
C에서 문자열 배열을 어떻게 만듭니 까?
C로 문자열 배열을 만들려고합니다.이 코드를 사용하면 : char (*a[2])[14]; a[0]="blah"; a[1]="hmm"; gcc는 "경고 : 호환되지 않는 포인터 유형의 할당"을 제공합니다. 이를 수행하는 올바른 방법은 무엇입니까? 편집 : 왜 그렇게하면 컴파일러가 경고 메시지를 표시 해야하는지 궁금 printf(a[1]);합니다. "hmm"을 올바르게 인쇄합니다.
263 c  arrays  string 

10
C / C ++에서 정수 나누기의 빠른 상한
정수 값 x과 yC 및 C ++는 모두 q = x/y부동 소수점의 바닥을 몫으로 반환 합니다. 천장을 반환하는 방법에 관심이 있습니다. 예를 들어, ceil(10/5)=2와 ceil(11/5)=3. 확실한 접근 방식은 다음과 같습니다. q = x / y; if (q * y < x) ++q; 이를 위해서는 추가 비교와 곱셈이 필요합니다. 그리고 내가 …
262 c++  c  algorithm  math 


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.