«c» 태그된 질문

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

7
C 표준은 진실 값을 0 또는 1로 명시 적으로 표시합니까?
우리는되지 않은 번호가 동일한 것을 알고 0으로 간주됩니다 true우리가 쓸 수, C에서 : int a = 16; while (a--) printf("%d\n", a); // prints numbers from 15 to 0 그러나, 나는 참 /의 거짓과 같이 정의되어 있는지 궁금했다 1/ 0나는 아래의 코드를 시도하므로, C에서 : printf("True = %d, False = %d\n", …
86 c 

3
C의 구조 메모리 레이아웃
C # 배경이 있습니다. 저는 C와 같은 저수준 언어의 초보자입니다. C #에서 struct의 메모리는 기본적으로 컴파일러에 의해 배치됩니다. 컴파일러는 데이터 필드를 재정렬하거나 암시 적으로 필드 사이에 추가 비트를 채울 수 있습니다. 따라서 정확한 레이아웃을 위해이 동작을 재정의하기 위해 몇 가지 특수 속성을 지정해야했습니다. AFAIK, C는 struct기본적 으로 a의 메모리 레이아웃을 …


6
파일 범위에서 다양하게 수정 된 배열
내 ".m"파일의 최상위 수준에서 다음과 유사한 Objective-C 구현 파일 전체에서 사용할 상수 정적 배열을 만들고 싶습니다. static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; NUM_TYPES나중에 파일에서 사용할 계획 이므로 변수에 넣고 싶었습니다. 그러나 이렇게하면 오류가 발생합니다. "파일 범위에서 다양하게 수정 된 '유형'" …



8
C malloc 어설 션 실패가 발생하는 이유는 무엇입니까?
OpenCL 구현에 대해 벤치마킹 할 수 있도록 분할 및 정복 다항식 알고리즘을 구현하고 있지만 malloc작업을 수행 할 수 없습니다 . 프로그램을 실행하면 여러 가지를 할당하고 몇 가지 사항을 확인한 다음 size/2알고리즘 에을 보냅니다 . 그런 다음 malloc다시 라인을 쳤을 때 다음과 같이 뱉어냅니다. malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char …
85 c  gcc  malloc  assertion 


10
정수의 1 비트가 연속 영역에 있는지 테스트하는 우아하고 빠른 방법이 있습니까?
비트 값이 1 인 위치 (32 비트 정수의 경우 0에서 31까지)가 연속 영역을 형성하는지 테스트해야합니다. 예를 들면 : 00111111000000000000000000000000 is contiguous 00111111000000000000000011000000 is not contiguous 이 테스트, 즉 일부 기능 has_contiguous_one_bits(int)이 이식 가능하기를 바랍니다. 한 가지 분명한 방법은 위치를 반복하여 첫 번째 설정 비트를 찾은 다음 첫 번째 설정되지 않은 …

3
C와 C ++에서 거의 동일한 코드의 실행 시간에서 큰 차이 (x9)
www.spoj.com에서이 문제를 풀려고했습니다. FCTRL-Factorial 꼭 읽을 필요는 없습니다. 궁금하다면 읽어보세요. :) 먼저 C ++로 구현했습니다 (여기에 내 솔루션이 있습니다). #include <iostream> using namespace std; int main() { unsigned int num_of_inputs; unsigned int fact_num; unsigned int num_of_trailing_zeros; std::ios_base::sync_with_stdio(false); // turn off synchronization with the C library’s stdio buffers (from https://stackoverflow.com/a/22225421/5218277) cin …
85 c++  c  performance  gcc  iostream 

8
문자열이 C에서 다른 문자열로 시작하는지 확인하는 방법은 무엇입니까?
startsWith(str_a, str_b)표준 C 라이브러리 와 같은 것이 있습니까? 널 바이트로 끝나는 두 문자열에 대한 포인터를 가져 와서 첫 번째 문자열도 두 번째 문자열의 시작 부분에 완전히 나타나는지 여부를 알려줍니다. 예 : "abc", "abcdef" -> true "abcdef", "abc" -> false "abd", "abdcef" -> true "abc", "abc" -> true

3
Win32에서 unsigned int 로의 이중 캐스트가 2,147,483,648로 잘립니다.
다음 코드를 컴파일합니다. double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } 출력 (MSVC x86) …


7
Vim에서 C로 공백을 자동 들여 쓰기?
Eclipse와 Java를 사용하여 다소 버릇이 없었습니다. 리눅스 환경에서 C 코딩을하기 위해 vim을 사용하기 시작했는데, vim이 블록에 대해 적절한 간격을 자동으로 수행하도록하는 방법이 있습니까? 따라서 {를 입력 한 후 다음 줄에는 2 개의 공백이 들여 쓰기되고 해당 줄을 리턴하면 동일한 들여 쓰기가 유지되고}는 2 개의 공백을 뒤로 이동합니까?
85 c  vim  coding-style  vi 

12
C 또는 C ++로 구조체를 반환하는 것이 안전합니까?
내가 이해하는 것은 이것이 수행되어서는 안된다는 것입니다.하지만 나는 이와 같은 일을하는 예제를 보았다고 믿습니다 (코드가 반드시 구문 적으로 정확하지는 않지만 아이디어가 있습니다) typedef struct{ int a,b; }mystruct; 그리고 여기에 함수가 있습니다. mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; } 나는 우리가 이와 …

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