«c» 태그된 질문

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

4
C에서 내포 된 루트 계산
재귀 만 사용하여 다음 중첩 루트 식을 계산하라는 요청을 받았습니다 . 나는 아래 코드를 작성했지만 효과가 있었기 때문에 하나의 함수 와 하나의 입력 만 사용n 하고 2는 사용하지 않았습니다. 누군가이 코드를 표현식을 계산하는 하나의 함수로 변환하도록 도울 수 있습니까? 의 함수를 제외한 모든 라이브러리를 사용할 수 없습니다 <math.h>. n = …
9 c  recursion  sqrt 

1
C 주요 파라미터
나는 주요 매개 변수를 표시 해야하는 코드를 작성했지만 컴파일하고 "*"프로그램을 입력하면 파일 구조가 표시됩니다. cmd의 명령은 다음과 같습니다.program.exe 1 2 3 * #include <stdio.h> #include <stdlib.h> int main(int argc, char const* argv[]) { for (int i=0; i<argc; i++) printf("%s\n", argv[i]); return 0; } 결과는 다음과 같습니다. program 1 2 3 …

2
C의 const 한정자와 C ++의 const 한정자는 어떻게 다릅니 까?
사용자 R 의 의견 을 찾았습니다 . : C와 C ++는 같은 언어가 아닙니다. 특히 C const는 C ++과 관련이 없습니다 const. constC의 const한정자와 C ++ 의 한정자의 차이점은 기본 연결 이라는 것을 알고 있습니다. constC ++에서 한정자를 사용 하여 네임 스페이스 범위에서 선언 된 객체 에는 내부 연결이 있고 …

1
다른 컴파일러에서 void **로 변환
다른 컴파일러를 통해 다음 코드를 실행했습니다. int main() { float **a; void **b; b = a; } 내가 수집 할 수 있었던 것은 일반적인 포인터 void **가 아니기 때문에 다른 포인터에서 변환 할 때 컴파일하거나 적어도 경고를 보내서는 안됩니다. 그러나 내 결과는 다음과 같습니다 (모두 Windows에서 수행됨). gcc- 예상대로 경고를 …
9 c++  c  cuda 

1
프로세스가 Linux에서 새 파일 설명자를 열지 못하도록하지만 소켓을 통해 파일 설명자를 수신 할 수 있습니다.
현재 소켓 쌍, 포크를 설정 한 다음이 소켓 쌍을 사용하여 통신하는 부모 프로세스가있는 프로젝트를 진행하고 있습니다. 자식은 파일 (또는 다른 파일 설명자 기반 리소스)을 열려면 항상 부모에게 가서 리소스를 요청 fd하고 소켓 쌍을 통해 전송 해야합니다 . 또한 자식이 파일 설명자를 자체적으로 열지 못하게하고 싶습니다. 나는 setrlimit자식이 새 파일 설명자를 …
9 c  linux  system-calls 

1
불완전한 유형에 대한 포인터가 불완전 할 수 있습니까?
수 int (*)[]불완전한 유형을 수? C 2018 6.2.5 1의 말 : 변환 단위 내의 다양한 지점에서, 객체 유형이 불완전 하거나 ( 해당 유형의 객체 크기를 결정 하기에 충분한 정보가 없음) 완료 (충분한 정보가 있음) 될 수 있습니다. 따라서 유형의 크기를 알면 유형이 완전한 것 같습니다. 6.2.6.1 28은 특정 유형의 포인터가 …


1
CHAR_WIDTH 선언되지 않은
‘CHAR_WIDTH’ undeclared 이 간단한 프로그램을 컴파일하려고 할 때 오류가 발생 합니다. #include <stdio.h> #include <limits.h> int main() { printf("CHAR_BIT = %d\n", CHAR_BIT); printf("CHAR_WIDTH = %d\n", CHAR_WIDTH); return (0); } 와 gcc ./show_char_width.c -o show_char_width 및 gcc : GNU C 버전 8.3.0, GMP 버전 6.1.2, MPFR 버전 4.0.2, MPC 버전 1.1.0으로 …
9 c  gcc 

1
매우 간단한 코드의“잘못된 하드웨어 명령”
모호한 주장을 조사 하면서이 작은 테스트 프로그램을 작성했습니다noway.c int proveit() { unsigned int n = 0; while (1) n++; return 0; } int main() { proveit(); return 0; } 이것을 테스트하면 다음을 얻습니다. $ clang -O noway.c $ ./a.out zsh: illegal hardware instruction ./a.out 왓. 최적화없이 컴파일하면 예상대로 중단됩니다. 나는 …

1
mandelbrot brainf *** 프로그램을 실행하는 동안 프로그램이 계속 멈추는 이유는 무엇입니까?
C 기술을 향상시키고 싶었으므로 프로그램 아이디어를 검색했습니다. 누군가 간단한 Brainf *** 인터프리터와 컴파일러를 만들 것을 제안합니다. 그래서 여기 있습니다. 나는 인터프리터를 만들었고 Mandelbrot 프로그램을 제외하고는 예상대로 작동합니다. A mandelbrot set fractal viewer in brainfuck written by Erik Bosman +++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[ >>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+ <<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>> >+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>> >>>>>[-]+<<<<<<++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<+++++++[-[->>> >>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[[-]>>>>>>[>>>>> >>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>> [>>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<< <<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>+++++++++++++++[[ >>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[ >+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[ -<<+>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<< …

2
C에서 컴파일 타임 캡슐화 란 무엇입니까?
C ++에 비해 C의 장점을 연구 할 때이 단락을 보았습니다. C에서 캡슐화를 수행하는 표준 방법은 구조체를 전달 선언하고 함수를 통해 데이터에 대한 액세스 만 허용하는 것입니다. 이 방법은 또한 컴파일 시간 캡슐화를 만듭니다. 컴파일 시간 캡슐화를 통해 클라이언트 코드 (우리의 인터페이스를 사용하는 다른 코드)를 다시 컴파일하지 않고도 데이터 구조 멤버를 …
9 c 

6
비트 단위 및 연산자를 사용하여 배열 선언에 대한 C 포인터
다음 코드를 이해하고 싶습니다. //... #define _C 0x20 extern const char *_ctype_; //... __only_inline int iscntrl(int _c) { return (_c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)_c] & _C)); } obenbsd 운영 체제 소스 코드의 ctype.h 파일에서 시작됩니다 . 이 함수는 문자가 제어 문자인지 또는 ASCII 범위 내의 …
9 c  openbsd 

3
foo (void) vs foo (void *)
기능적으로 그리고 구문 적으로 말하자면 프로토 타입이있는 함수 int foo(void)와 int foo(void *)? 나는 예를 들어, 차이를 알고, int bar(int)그리고 int bar(int *)- 그 중 하나의 int를 찾고, 다른 하나는 int 형 포인터를 찾고 있습니다. void같은 방식으로 작동 합니까 ?

3
C에서 + (+ k--) 표현식
다음 코드의 출력을 알려주는 테스트 에서이 질문을 보았습니다. #include<stdio.h> int main(){ int k = 0; while(+(+k--)!=0) k=k++; printf("%d\n", k); return 0; } 출력은 -1입니다. 그래도 이것이 왜 대답인지 잘 모르겠습니다. +(+k--)C에서 그 표현 은 무엇을 의미합니까?
9 c 

4
배열에 대한 포인터의 역 참조에서 sizeof는 어떻게 작동합니까?
여기 에 4 개의 정수 ptr배열 arr에 대한 포인터 가 있습니다. ptr전체 배열을 가리 킵니다. ptr[0]또는 *ptr배열의 첫 번째 요소를 가리 키므로 1을 추가하면 배열 ptr[0]의 두 번째 요소의 주소 가 제공됩니다. 사용 sizeof(ptr[0])하면 왜 첫 번째 요소의 크기가 아닌 16 바이트 전체 배열의 크기를 4 바이트로 제공 하는지 이해할 …
9 c  arrays  pointers 

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