«c» 태그된 질문

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


9
z / OS의 C ++에서 C 소켓 API를 사용하는 방법
내가 제대로 작동하려면 C 소켓 API를 받고 문제에 봉착 C++에를 z/OS. 내가 포함 sys/socket.h하고 있지만 여전히 정의되지 않은 컴파일 시간 오류 가 발생합니다 .AF_INET 내가 명백한 것을 놓치고 z/OS있습니까 , 아니면 켜져있는 것이 문제를 훨씬 더 복잡하게 만드는 사실과 관련이 있습니까? 업데이트 : 추가 조사 결과, 내가 #ifdef치고 있는 것이 …
158 c++  c  sockets  mainframe  zos 

24
C에 유용한 GCC 플래그
setting -Wall과 setting 외에도 -std=XXXC에서 사용하기에 실제로 유용하지만 덜 알려진 컴파일러 플래그는 무엇입니까? 특히 추가 경고에 관심이 있으며 우발적 인 유형 불일치를 최소화하기 위해 경고를 오류로 전환하는 경우가 있습니다.
157 c  gcc  compiler-flags 

8
C 런타임 라이브러리 란 무엇입니까?
실제로 C 런타임 라이브러리 란 무엇이며 어떤 용도로 사용됩니까? 나는 악마처럼 인터넷 검색을했지만 마이크로 소프트보다 더 좋은 것을 찾을 수 없었다. "Microsoft 런타임 라이브러리는 Microsoft Windows 운영 체제를위한 프로그래밍 루틴을 제공합니다. "C 및 C ++ 언어." 좋아, 나는 그것을 얻지 만, 예를 들어, 무엇에 libcmt.lib있습니까? 무엇을합니까? C 표준 라이브러리는 C …
157 c  runtime 

22
C의 객체 지향
C에서 어떤 종류의 추악하지만 사용 가능한 객체 지향을 가능하게하는 멋진 전 처리기 핵 (ANSI C89 / ISO C90 호환) 세트는 무엇입니까? 몇 가지 다른 객체 지향 언어에 익숙하므로 "Learn C ++!"와 같은 답변으로 응답하지 마십시오. " ANSI C를 사용한 객체 지향 프로그래밍 "(주의 : PDF 형식 ) 및 기타 여러 …
157 c  oop  object 

11
memcpy () vs memmove ()
나는 차이를 이해하려고 memcpy()하고 memmove(), 나는 텍스트를 읽을 수있는 memcpy()반면, 중복 소스의 관심과 대상을 고려하지 않습니다 memmove()않습니다를. 그러나 겹치는 메모리 블록 에서이 두 기능을 실행하면 둘 다 동일한 결과를 얻습니다. 예를 들어 memmove()도움말 페이지 에서 다음 MSDN 예제를 참조하십시오. 의 단점을 이해하는 좋은 예 거기에 memcpy어떻게 memmove해결할 수있는 문제는? // …
157 c  memcpy  memmove 

10
포인터를 전달하는 대신 C에서 값으로 구조체를 전달하는 데 단점이 있습니까?
포인터를 전달하는 대신 C에서 값으로 구조체를 전달하는 데 단점이 있습니까? 구조체가 큰 경우 많은 양의 데이터를 복사하는 성능 측면이 분명히 있지만 작은 구조체의 경우 기본적으로 여러 값을 함수에 전달하는 것과 동일해야합니다. 반환 값으로 사용하면 더 재미있을 것입니다. C에는 함수의 단일 반환 값만 있지만 종종 여러 값이 필요합니다. 따라서 간단한 해결책은 …

9
memset보다 bzero를 사용하는 이유는 무엇입니까?
시스템 프로그래밍 클래스에서이 전 학기를 수강했습니다. C에서 기본 클라이언트 / 서버를 구현해야했습니다. sock_addr_in, 또는 버퍼 버퍼 (클라이언트와 서버간에 데이터를주고받는 데 사용 된) 와 같은 구조체를 초기화 할 때 교수 초기화 만하지 bzero말라고 지시 memset했습니다. 그는 왜 그런지 설명하지 않았으며, 이것에 대한 정당한 이유가 있는지 궁금합니다. 나는 여기를 참조하십시오 : http://fdiv.net/2009/01/14/memset-vs-bzero-ultimate-showdown …

23
해제 후 변수를 NULL로 설정
우리 회사에는 메모리를 비운 후 변수를로 재설정하는 코딩 규칙이 NULL있습니다. 예를 들어 ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } 위에 표시된 코드와 같은 경우로 설정하면 NULL아무런 의미가 없다고 생각합니다. 아니면 뭔가 빠졌습니까? 그러한 경우에 의미가 없다면, "품질 팀"에게 맡겨서이 …


5
비트 시프트는 엔디안에 의존합니까?
내가 숫자를 'numb'=1025 [00000000 00000000 00000100 00000001]표현 했다고 가정 해보십시오 . 리틀 엔디 언 머신에서 : 00000001 00000100 00000000 00000000 빅 엔디안 머신에서 : 00000000 00000000 00000100 00000001 이제 10 비트에 왼쪽 시프트를 적용하면 (즉 : numb << = 10) 다음을 가져야합니다. [A] Little-Endian 머신에서 : GDB에서 알 수 있듯이 …
156 c  endianness 

9
내 변수는 C의 어디에 저장됩니까?
메모리가 전역 변수, 정적 변수, 상수 데이터 유형, 로컬 변수 (함수로 정의 및 선언 됨), 변수 (주 함수에서), 포인터를 수행하는 데이터, 힙, 스택 및 코드의 네 가지 세그먼트로 나누어지는 것을 고려하여 및 malloc 및 calloc을 사용하여 동적으로 할당 된 공간이 메모리에 저장됩니까? 나는 그들이 다음과 같이 할당 될 것이라고 생각합니다. …

5
내장 함수 'malloc'의 호환되지 않는 암시 적 선언
이 오류가 발생합니다. 경고 : 내장 함수 'malloc'의 호환되지 않는 암시 적 선언 나는 이것을하려고합니다 : fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); 참고로 손에 사용되는 구조체는 다음과 같습니다. typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; 내가 한 일에 아무런 문제가 없습니다. 방금 tempList1 x 크기의를 만들고 …
155 c  struct  malloc 

21
C에서 구분 기호로 문자열 분리
C 프로그래밍 언어에서 구분 기호가있는 문자열의 배열을 분할하고 반환하는 함수를 작성하는 방법은 무엇입니까? char* str = "JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"; str_split(str,',');
155 c  string  split 

7
'float'vs. 'double'정밀도
코드 float x = 3.141592653589793238; double z = 3.141592653589793238; printf("x=%f\n", x); printf("z=%f\n", z); printf("x=%20.18f\n", x); printf("z=%20.18f\n", z); 당신에게 출력을 줄 것이다 x=3.141593 z=3.141593 x=3.141592741012573242 z=3.141592653589793116 여기서 출력의 세 번째 줄 741012573242은 쓰레기이고 네 번째 줄 116은 쓰레기입니다. 플로트에는 항상 16 개의 유효 숫자가 있고 플로트에는 항상 7 개의 유효 숫자가 …
155 c  floating-point 

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