C 38

complex C 구문의 의미

complex C 구문의 의미 이 질문에는 이미 다음과 같은 답변이 있습니다. 닫힘11년 전에. 중복 가능: 이 C 문장은 무엇을 의미합니까? 이 표현은 무슨 뜻입니까? char *(*c[10])(int **p); c는 a를 반환하는 10개의 함수 포인터의 배열입니다.char*그리고 a를 가져갑니다.int**논변으로 (*c[10]) ^^^^ = array of 10 (*c[10]) ^ = function pointer 그래서 지금 우리는 10개의 함수 포인터 배열을 가지고 있습니다. char *(*c[10]) ^^^^^^ = returns a char* char *(*c[10])(int** p) ^^^^^ = takes a int** as an argument a를 반환하는 10개 함수 포인터 배열cha..

source 2023.10.22

헤더 파일을 포함하여 external과 #를 사용하는 것의 차이점은 무엇입니까?

헤더 파일을 포함하여 external과 #를 사용하는 것의 차이점은 무엇입니까? 다른 모듈(다른 파일)의 변수/함수에 액세스하는 데 사용되는 "외부" 키워드의 유용성에 의문을 제기하기 시작했습니다.변수/함수 프로토타입 또는 함수/변수 정의가 포함된 헤더 파일을 가져오기 위해 #include preprocessor를 사용할 때도 동일한 작업을 수행하고 있지 않습니까?extern기호가 존재하며 특정 유형이라고 선언하고 해당 기호에 대한 저장소를 할당하지 않기 때문에 필요합니다. 사용할 경우: int foo; 여러 소스 파일 간에 공유되는 헤더 파일의 경우 각 소스에 고유한 foo 복사본이 생성되고 링커가 기호를 해결할 수 없으므로 링커 오류가 발생합니다. 대신 다음이 있을 경우: extern int foo;..

source 2023.10.22

열거(typedef enum)의 중요도

열거(typedef enum)의 중요도 이 질문에는 이미 다음과 같은 답변이 있습니다. dep 열거형 설명을 c로 입력합니다. (5개 답변) 닫힘7년 전에. 저는 최근에 저를 위해 게시된 답변에서 이것을 보았습니다. typedef enum { NO_OP, ADDITION, } operator_t; int main() { operator_t operator = NO_OP; } 이?typedef enum우리가 왜 그걸 사용해야 합니까?구글에 검색해보니 다음과 같습니다: http://www.programiz.com/c-programming/c-enumeration 지금은 너무 기술적으로 들리는데 무슨 일인지, 왜 그런 걸 쓰는지 이해가 안 가는 것 같아요. 보너스(옵션):어떤 유형의 변수가operator_t?..

source 2023.10.22

C에서 함수를 가져옵니다.

C에서 함수를 가져옵니다. 이 질문에는 이미 다음과 같은 답변이 있습니다. 기능을 사용하면 안 될 정도로 위험한 이유는 무엇입니까? (13개 답변) 닫힘9개월 전에. 나는 그것을 사용하는 것이 꽤 멋지다고 생각했습니다.gets()기능을 하는 이유는 그것이 마치scanf()빈 공간으로 입력을 받을 수 있을 겁니다그런데 쓰레드(학생 정보 파일 취급) 중 하나에서 읽었는데, 그들에 따르면 버퍼 오버플로를 만드는 데 악마의 도구이기 때문에 사용하기에 좋지 않다고 합니다(이해할 수 없습니다). 가 을 쓰면.gets()기능, 나는 이것을 할 수 있습니다.이름 입력:Keanu Reeves. 가 을 쓰면.scanf(), 나는 이것밖에 할 수 없었습니다.이름 입력:Keanu 그래서 나는 그들의 조언에 귀를 기울이고 나의..

source 2023.10.17

C에서 두 문자열을 비교하는 것?

C에서 두 문자열을 비교하는 것? 이 질문에는 이미 다음과 같은 답변이 있습니다. C에서 문자열을 제대로 비교하려면 어떻게 해야 합니까? (11개 답변) 닫힘5년 전에. 비교가 안되고 있어서 코드가 작동하지 않습니다. 왜죠? 모든 이름들이 지난다.if. printf("Enter Product: \n"); scanf("%s", &nameIt2); printf("Enter Description: \n"); scanf("%s", &descriptionI); printf("Enter Quantity: \n"); scanf("%d", &qtyI); printf("Enter Order Quantity: \n"); scanf("%s", &ordqtyI); while (fscanf(fp4, "%s %s %d %s\n"..

source 2023.10.17

자바스크립트로 작성된 C 인터프리터

자바스크립트로 작성된 C 인터프리터 문 닫았습니다.이 질문은 책, 도구, 소프트웨어 라이브러리 등에 대한 권장 사항을 찾고 있습니다.충족되지 않습니다.스택 오버플로 지침.현재 답변을 받지 않고 있습니다. 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 질문은 허용하지 않습니다.질문을 편집하여 사실과 인용으로 답변할 수 있습니다. 6개월 전에 문을 닫았습니다. 커뮤니티는 6개월 전에 이 질문을 재개할 것인지 검토하고 비공개로 했습니다. 원래 근접 사유가 해결되지 않았습니다. 이 질문을 개선합니다. 자바스크립트나 자바로 작성된 C 통역기가 있습니까? 완전한 통역사는 필요 없지만 프로그램을 단계적으로 실행하고 변수의 값을 볼 수 있어야 합니다. 스택...웹 인터페이스에 있는 모든 것. C 초보자들에..

source 2023.10.17

C의 함수 내부의 함수

C의 함수 내부의 함수 이 질문에는 이미 다음과 같은 답변이 있습니다. C에 내포된 함수 (9개 답변) 닫힘3년 전에. 나는 이것과 비슷한 코드를 만들고 있습니다. #include double some_function( double x, double y) { double inner_function(double x) { // some code return x*x; } double z; z = inner_function(x); return z+y; } int main(void) { printf("%f\n", some_function(2.0, 4.0)); return 0; } 이것은 GCC에서 완벽하게 컴파일되지만(경고 없이) ICC에서는 컴파일되지 못합니다. ICC는 다음을 제공합니다. main.c(16):..

source 2023.10.17

0과 1 사이의 난수를 생성하는 방법은?

0과 1 사이의 난수를 생성하는 방법은? (0,1) 사이의 난수를 생성하고자 합니다.저는 다음을 시도하고 있습니다. double r2() { return((rand() % 10000) / 10000.0); } int SA() { double u; u = r2(); } 하지만 기대했던 결과를 만들어내지는 못합니다.어떻게 고치죠?버전에서rand() % 10000사이의 정수를 산출할 것입니다.0그리고.9999. RAND_MAX는 32767 정도로 작을 수 있고, 이것이 10000으로 정확히 구분되지 않고 10000에 비해 크지 않기 때문에 결과의 '무작위'에 상당한 편의가 있을 것이며, 또한 최대값은 1.0이 아닌 0.9999가 될 것이며, 불필요하게 값을 소수점 네 자리로 제한했습니다. 이것은 단순한 산술이..

source 2023.10.12

이 C 코드의 취약한 점은 무엇입니까?

이 C 코드의 취약한 점은 무엇입니까? #include #include #include #include #include int main(int argc, char **argv, char **envp) { gid_t gid; uid_t uid; gid = getegid(); uid = geteuid(); setresgid(gid, gid, gid); setresuid(uid, uid, uid); system("/usr/bin/env echo and now what?"); } 제가 이해하는 바에 따르면, 위의 코드는 임의의 코드(또는 프로그램) 실행을 허용합니다. 무엇이 이것을 취약하게 만들고, 이것을 어떻게 활용할 수 있을까요?당신은 다음을 무시할 수 있습니다.PATH사용자 지정 버전이 있는 디렉토리를 가..

source 2023.10.07