«c» 태그된 질문

C는 운영 체제, 게임 및 기타 고성능 작업에 사용되는 범용 컴퓨터 프로그래밍 언어입니다.

10
“항상 변수를 초기화”하지 않아도 중요한 버그가 숨겨지지 않습니까?
C ++ 핵심 지침에는 ES.20 : 항상 객체 초기화 규칙이 있습니다. 사용 된 설정 오류 및 관련 정의되지 않은 동작을 피하십시오. 복잡한 초기화 이해 문제를 피하십시오. 리팩토링을 단순화하십시오. 그러나이 규칙은 버그를 찾는 데 도움이되지 않으며 버그 만 숨 깁니다. 프로그램에 초기화되지 않은 변수를 사용하는 실행 경로가 있다고 가정합니다. 버그입니다. 정의되지 …
34 c++  c 

8
Clang / LLVM이 열거 된 모든 사례를 다루는 switch 문에서 기본값 사용에 대해 경고하는 이유는 무엇입니까?
다음 enum 및 switch 문을 고려하십시오. typedef enum { MaskValueUno, MaskValueDos } testingMask; void myFunction(testingMask theMask) { switch (theMask) { case MaskValueUno: {}// deal with it case MaskValueDos: {}// deal with it default: {} //deal with an unexpected or uninitialized value } }; 나는 Objective-C 프로그래머이지만 더 많은 사람들을 위해 …


8
C가 그렇다면 Java가 정확히 if (5) {…}와 같은 숫자 조건을 허용하지 않는 이유는 무엇입니까?
이 두 가지 작은 프로그램이 있습니다. 기음 #include <stdio.h> int main() { if (5) { printf("true\n"); } else { printf("false\n"); } return 0; } 자바 class type_system { public static void main(String args[]) { if (5) { System.out.println("true"); } else { System.out.println("false"); } } } 오류 메시지를보고합니다. type_system.java:4: error: incompatible …
33 java  c  type-systems 

5
매개 변수 또는 반환 값으로 C 구조체를 초기화해야합니까? [닫은]
내가 일하는 회사는 다음과 같은 초기화 기능을 통해 모든 데이터 구조를 초기화하고 있습니다. //the structure typedef struct{ int a,b,c; } Foo; //the initialize function InitializeFoo(Foo* const foo){ foo->a = x; //derived here based on other data foo->b = y; //derived here based on other data foo->c = z; //derived here …

7
성능을 위해 C로 작성 하시겠습니까? [닫은]
나는 C가 일반적으로 C ++보다 성능 이점이 있다고 들었습니다. MSVC가 최신 표준 C를 지원하지 않는 것 같지만 최신 C99를 지원한다는 사실을 알기 전까지는 다른 생각은 없었습니다. OpenGL에서 렌더링 할 코드를 사용하여 라이브러리를 작성하여 재사용 할 수 있도록 계획하고있었습니다. 그래픽과 관련하여 성능 향상을 환영하므로 C로 라이브러리를 작성하려고했습니다. 그러나 정말로 가치가 있습니까? …

11
typedef와 #defines
우리 모두는 확실히 사용한 typedef들과 #define한 번에 또는 다른이야. 오늘 저는 그들과 함께 일하면서 일을 고민하기 시작했습니다. int다른 이름으로 데이터 유형 을 사용하려면 아래 두 가지 상황을 고려하십시오 . typedef int MYINTEGER 과 #define MYINTEGER int 위의 상황과 마찬가지로 많은 상황에서 #define을 사용하여 일을 잘 수행 할 수 있으며 typedef를 …

13
저수준 프로그래밍-그 안에 무엇이 있습니까? [닫은]
몇 년 동안 나는 "낮은 수준의"언어로 간주되는 것을 파는 것을 고려해 왔습니다. 나에게 이것은 C와 어셈블리를 의미합니다. 그러나 나는 아직 이것을 할 시간이 없었으며, 그 어느 때도 필요하지 않았습니다. 이제는 필연적 인 필요성이 보이지 않기 때문에 주제를 연구하거나 계획을 영원히 중단 할 특정 시점을 예약해야 할 것 같습니다. 내 위치 …

8
Make를 직접 사용하고 있습니까? [닫은]
그래서 makefile을 직접 만드는 방법과 2015 년에 어리석은 일에 대해 많은 의견 / 게시물 / 등을 보았습니다. CMake와 같은 도구를 알고 있으며 실제로 CMake를 자주 사용합니다. 문제는 CMake가 단지 당신을 위해 Makefile을 만들고 스스로 만드는 일을 없애는 것입니다. 물론 다른 많은 훌륭한 기능을 추가하지만 결국에는 Makefile이 추가됩니다. 그래서 내 질문은, …
31 c++  c  builds  make  cmake 

2
C 프리 프로세서의 기원은 무엇입니까?
C 전처리 기는 C에 연결되어 있지만 주요 언어와는 완전히 다른 구문을 사용합니다. 구문 상으로 중요한 공백 (행 끝이 명령문을 종료하고 매크로가 대체 목록의 시작을 판별 한 후 간격) 키워드 기반 대신 보강 블록의 블록 elif대신else if 선언-반사-사용 대신 키워드 중심 정의, =값 정의 없음 대체 문자열 구문의 힌트 ( #include …
30 c  history  macros 


10
포인터가 C 언어로 보유하는 데이터의 "유형"은 무엇입니까?
포인터에 주소가 있다는 것을 알고 있습니다. 포인터의 타입은 그들이 가리키는 데이터의 "타입"에 기초하여 "일반적으로"알려져 있다는 것을 알고 있습니다. 그러나 포인터는 여전히 변수이며 보유한 주소에는 데이터 "유형"이 있어야합니다. 내 정보에 따르면 주소는 16 진수 형식입니다. 그러나 나는 여전히이 16 진수 데이터의 "유형"이 무엇인지 모른다. (나는 16 진수가 무엇인지 알고 있지만 10CBA20예를 …
30 c  pointers 


2
C 문자열 리터럴이 읽기 전용 인 이유는 무엇입니까?
읽기 전용 문자열 리터럴의 장점은 무엇입니까? (-ies / -ied) 발에 몸을 쏠 수있는 또 다른 방법 char *foo = "bar"; foo[0] = 'd'; /* SEGFAULT */ 한 줄에 단어의 읽기-쓰기 배열을 우아하게 초기화 할 수 없음 : char *foo[] = { "bar", "baz", "running out of traditional placeholder names" }; …
29 c  memory  strings 


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