Programming Language

Programming Language/Data Structure in C

성능 분석과 빅 오(Big 'O') 기법을 알아보자

Performance Analysis (성능분석) Measurement: 측정 성능을 분석하는 것에는 2가지 방법이 있습니다. 첫 번째 방식은 기계 자체에서 직접 실행 시간을 측정하는 것입니다. 그러나 이 방식의 단점이 있습니다. 그것은 사용되는 컴퓨터의 사양에 따라 실행 속도가 달라진다는 것입니다. 때문에 기기의 사양과 관계없이 정량적으로 분석하기 위한 기법을 필요합니다. 이는 아래 [Analysis: 시간과 공간 추정]에서 살펴보겠습니다. 그렇다면 C언어에서 실행 시간을 측정하기 위해서는 어떻게 해야할까요? 아래 글을 참조해 보세요! 2023.10.10 - [Programming Language/Data Structure in C] - C언어에서 코드 실행 시간 측정하는 방법 (Measurement)..

Programming Language/Data Structure in C

C언어에서 코드 실행 시간 측정하는 방법 (Measurement)

자료구조에서 성능을 분석하기 위한 방법 중에는 측정(Measurement)이 있습니다. 이는 컴퓨터 자체에서 실행 시간을 측정하기 위한 방법으로 사용됩니다. C언어 성능 측정 C언어에서 성능을 측정하기 위해서는 어떤 방법이 있을까요? 헤더 time.h 자료형 clock_t 함수 clock(void) 매크로 CLOCKS_PER_SEC; C언어 기본 문법 우선 C언어의 기본 틀입니다. #include // 헤더 int main(void) // main 함수, 가장 먼저 실행되는 함수 { return 0; // int형 반환 } 시간 측정을 위한 문법 위의 헤더, 자료형, 함수를 이용해 시간 측정을 위한 틀을 작성해 보겠습니다. #include #include void main( void ) { clock_t..

Programming Language/Data Structure in C

자료구조와 알고리즘은 무엇인가? 자료구조와 알고리즘의 개념과 차이점

자료구조가 무엇일까요? ( NAVER 지식백과. ) 자료구조는 컴퓨터에서 처리할 자료를 효율적으로 관리하고 구조화시키기 위한 학문입니다. 즉, 자료를효율적으로 사용하기 위해 자료의 특성에 따라 분류하여 구성하고 저장 및 처리하는 모든 작업을 의미합니다. 알고리즘은 무엇일까요? ( NAVER 지식백과. ) 알고리즘은 어떤 문제를 해결하기 위해 정해진 일련의 절차나 방법입니다. 다시말해 특정한 일이나 문제를 해결하기 위해 수행되는 해결 과정 혹은 방법을 의미합니다. 알고리즘을 기술하기 위한 방법이나 도구는 무엇이 있을까요? flow chart (흐름도) 필요한 작업과 처리의 순서를 통일된 기호와 도형을 사용해 도식적으로 표시한 것 pseudo code (수도 코드, 의사 코드, 가짜 코드) 자연 언어에서 구..

Programming Language/Python

C언어 함수를 Python에 연동하기(GCC, ctypes 모듈 사용)

Python에서 사용 가능한 C언어 함수를 만들기 전에 먼저 선행되어야 하는 것이 있습니다. 바로 환경 구성과 배경 지식입니다. 아래는 환경 구성과 GCC 개념 관련 글입니다. 기초 개념 WSL을 사용한 개발 환경 구축 2023.08.31 - [Tools] - Visual Studio Code, WSL2, GCC를 이용한 C언어 개발 환경 구축하기 Windows Powershell에서 개발 환경 구축(MinGW 이용) 2023.09.01 - [Tools] - Visual Studio Code에서 Powrshell에 MinGW-w64와 MSYS2를 사용해 GCC 설치하기 GCC란? 2023.03.13 - [SystemSecurity/System Security Concepts] - [008] GCC 컴파일..

Programming Language/C

scanf 함수를 연속으로 사용할 때 에러를 해결하는 4가지 방법

scanf 함수를 쓴 후 printf 함수를 사용하면 제대로 나오지 않는 경우가 있습니다. 어떤 경우인지 알아봅시다.#include int main(void) { char input; printf("첫 번째 입력: "); scanf("%c", &input); printf("출력: %c \n", input); printf("두 번째 입력: "); scanf("%c", &input); printf("출력: %c \n", input); printf("세 번째 입력: "); scanf("%c", &input); printf("출력: %c \n", input); return 0; } 이 코드에서 어떤 문제가 발생할까요? 입력 버퍼가 문자열이 모두 다 입력되었다는 것을 알기 위한 기호는 NULL(\0)입니다. 첫 ..

Programming Language/C

Visual Studio Community에서 scanf 함수 실행 시 발생하는 에러를 해결하는 3가지 방법

아래 코드는 10자 이내의 이름을 입력받아 출력하는 코드입니다. #include int main() { char name[10]; scanf("%s", &name); printf("name=%s", name); return 0; } Visual Studio Community에서 C언어를 작성할 때 위와 같이 scanf를 사용할 경우 에러가 발생합니다. 아래는 발생한 에러 코드입니다. C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. HonGong C:\p..

Programming Language/C

C 언어 개발 환경

1. GCC 개발 환경 GCC에 대한 자세한 설명은 아래 글을 참고할 수 있습니다. 2023.03.13 - [Security/System] - [008] GCC 컴파일러란 무엇일까? GCC 컴파일러와 파일 확장자 GCC 컴파일러는 GNU Compiler Collection의 약자로 자유 소프트웨어입니다. 이 컴파일러는 개방형 개발 환경을 사용하고 세계적 수준의 플랫폼을 육성하기 위해 다른 많은 플랫폼을 지원합니다. 사실상 Linux의 표준 컴파일러로 다양한 언어를 사용할 수 있습니다. 2. 통합개발환경(IDE: Integrated Development Environment) (1) 데스크톱 통합개발환경 Microsoft Visual Studio Community 2022 무료로 사용 가능 MS 회원가입/..

movefun-tech
'Programming Language' 카테고리의 글 목록