728x90
반응형

컴퓨터/C

총 80개의 포스트

컴퓨터/C(80)

  1. C 언어 - NULL

    값은 비어있다 또는 존재하지 않는다. 다양한 프로그래밍 언어를 배우면 NULL, null 등을 많이 보게 됩니다. NULL은 사전에서 찾아보면 아무 가치가 없는이라는 뜻을 가지고 있습니다. 그리고 프로그래밍에서는 그 값은 없다, 비어있다의 의미로 쓰이게 됩니다. C언에서는 이렇게 값이 비어있다는 표현을 하기 위해 크게 NULL과 NUL(\0)으로 구분하여 사용하고 있습니다. 본 포스트에서는 그 차이를 한번 알아보도록 하겠습니다. NULL C언어 소스코드를 보면 이 NULL을 자주 접하게될 것입니다. 주로 포인터에서 많이 볼수 있습니다. 여기에 위처럼 의미를 부여하면 다음과 같습니다. int* p = NULL 포인터 변수 p안은 비어있다(메모리 주소가 존재하지 않는다) 동적 메모리 할당을 하는 것도 이와 ..

    2021.09.30

    컴퓨터/C

    Commnet

  2. C 언어 - 거품정렬 구현해보기

    거품 정렬 구현해보기 거품 정렬에 대한 알고리즘적 개념은 아래 링크를 참조해주세요. 알고리즘 - 정렬 기초 - 버블정렬(Bubble sort) 정렬 알고리즘의 가장 기본 순차적으로 들어가 있는 데이터들을 담는 다양한 자료구조에서 담겨 있는 데이터들을 사용자에 의도에 따라 정렬을 하는 것은 어떻게 보면 효율적으로 데이터를 blog-of-gon.tistory.com 소스코드 #include int main() { // 무작위로 생성된 배열 int arr[5] = { 5,10,1,7,80 }; // 배열의 크기 저장 int end = 5; //반복문을 통해 버블 정렬 구현 //총 5번을 반복 for (int i = 0; i < 5; i++) { //기준점 부터 마지막을 하나 씩 줄여가며 반복 for (int ..

    2021.09.27

    컴퓨터/C

    Commnet

  3. C 언어 - 난수의 생성(랜덤 번호)

    난수, 랜덤 다양한 프로그래밍에는 난수 즉 랜덤으로 숫자를 생성하여 사용하는 경우가 많이 있습니다. C언어에서는 이런 난수를 생성하기 위한 라이브러리를 제공합니다. 라이브러리 추가하기 난수를 생성하기 위한 함수들은 stdlib.h를 추가하여야만 정상적으로 사용할 수 있습니다. #include // 표준 입출력 라이브러리 헤더 #include // 난수 생성 기능이 있는 라이브러리 헤더 rand() 함수 - 난수를 생성해주는 함수 rand() 함수를 호출함으로써 난수를 생성할 수 있습니다. 이 함수의 원형은 아래와 같습니다. int rand(); 인자는 존재하지 않고 int형으로 반환하는 함수의 형태입니다. 0부터 INT_MAX의 크기까지의 숫자를 반환합니다. 이 함수와 %연산을 이용해서 100 이하의 숫..

    2021.09.19

    컴퓨터/C

    Commnet

  4. C언어 - Single linked list(단일 연결 리스트) 구현해보기

    시작하기 전에 자료구조인 List의 개념이 익숙하지 않거나 모르신다면 개념을 익히고 보는 것을 추천드립니다. 자료구조 - List(리스트)와 종류 List 개념 이해하기 자료구조 중 하나인 List는 배열의 한계를 극복할 수 있는 강력한 자료구조 중 하나이며 데이터를 단순하지만 효율적으로 다룰 수 있는 자료구조입니다. List는 Array처럼 어떠한 blog-of-gon.tistory.com C 언어를 이용한 싱글 링크드 리스트를 구현해보자 본문에서는 연결 리스트 자료구조를 C언어를 통해 구현해보도록 하겠습니다. C언에 문법을 가지고 크게 아래와 같은 기능을 사용하여 구현할 예정입니다. 노드 구현 - 구조체를 이용하여 만든다 노드 안의 위치 정보 - 포인터를 이용 노드의 생성 - 동적 메모리 할당을 이용..

    2021.09.06

    컴퓨터/C

    Commnet

  5. C 언어 - 배열의 한계 (선언과 동시에 크기의 불변)

    배열의 한계 사실 지난 포스트들에서 배열을 정적 동적으로 선언하는 다양한 방법들에 대해 많이 다뤘습니다. 하지만 다양한 자료구조들을 공부하고 구현해 보는 데에 있어 배열에 대하여 분명하게 특징을 알고 있어야만 왜 복잡한 자료구조들을 사용하게 되는지 알 수 있을 것입니다. 그럼 배열의 특징.. 한계에 대해 알아보도록 하겠습니다. 1. 배열은 선언과 동시에 크기를 가진다 ( 즉 , 고정된 크기만을 가질 수 있다.) 배열은 선언과 동시에 배열의 크기가 정해집니다. 즉 공간이 부족해서 배열을 늘리거나 줄이기는 어렵다는 말 입니다. 따라서 배열을 선언할 시 크기에 들어갈수 있는 인자는 정확한 크기를 알려줄 수 있는 상수들만 가능합니다. #include int main() { int arr[100]; // int ..

    2021.09.05

    컴퓨터/C

    Commnet

  6. C 언어 - 실습 - 학생관리 프로그램Ver.4.2(파일 불러오기)

    실습해보기 이제 저장한 파일을 불러오는 부분을 작성해 보도록 하겠습니다. 구현 부분 프로그램 종료 시에 몇 명의 학생을 저장했는지 표시하기 위해 count 추가. if (input == 1) { FILE* file = fopen("학생저장목록파일.txt", "wt"); if (file != NULL) { fprintf(file, "%d\n", count); for (int i = 0; i < count; i++) { fprintf(file,"%s\t",student[i].name); fprintf(file, "%d\t", student[i].Kor); fprintf(file, "%d\t", student[i].Eng); fprintf(file, "%d\t", student[i].Math); fprintf..

    2021.08.05

    컴퓨터/C

    Commnet

  7. C 언어 - 라이브러리 만들어보기 (모사 해보기)

    라이브러리를 모사해 보자 라이브러리의 개념을 한번 적용해서 프로그래밍을 조금 더 윤택하게 하는 방법에 대하여 알아보겠습니다. 본문에서는 정말 완성된 형태의 라이브러리를 만들기에는 개념과 방법 등 더 많은 내용을 담아야 하기 때문에, 간단하게 라이브러리의 형태를 가진 소스코드를 만들고 사용하는 방법에 대하여 알아보도록 하겠습니다. 준비하기 라이브러리 형태를 이용하여 프로그래밍을 하기 위해서는 최소 3가지의 구분이 되어있어야 될 것입니다. 라이브러리 관련 라이브러리 소스코드 파일 라이브러리 헤더 파일 메인 프그로그램 파일 main함수가 들어있는 구동되는 프로그램 파일 이 3가지 형태의 파일을 만들어 보도록 합시다. Visual studio를 이용하여 다음과 같은 파일을 만들었습니다. Mylib.h - 라이브..

    2021.08.03

    컴퓨터/C

    Commnet

  8. C 언어 - 라이브러리와 헤더

    라이브러리란(Library)? C언어에서 라이브러리란 자주 사용하는 소스코드들을 미리 작성하여 프로그래머가 원할 때 빠르게 사용할 수 있게 가공된 형태를 말합니다. 이 라이브러리 파일은 헤더 파일과 , 라이브러리 파일로 구성되어 있습니다. 헤더 파일 헤더 파일을 소스코드의 형태로 저장되어 있으며, 함수의 형태를 알기 위해 함수의 원형이 표시됩니다. 라입 브러리 파일 함수를 구현하는 실제 부분이 미리 컴파일되어있는 파일입니다. (기계어화된 파일) 그렇다면 라이브러리의 종류와 헤더 파일에 대하여 알아보도록 하겠습니다. 왜 라이브러리를 사용하는가? 컴파일러의 일을 줄일 수 있다. (컴파일 시간의 단축) 라이브러리는 자주 사용하는 함수(소스코드)들을 미리 기계 어화 시켜 보관하고, 빠르게 사용하기 위한 형태라고..

    2021.08.02

    컴퓨터/C

    Commnet

  9. C 언어 - 전처리기란 ?

    전처리기(Preprocess)란? C언어를 이용해서 프로그램을 만들게 되면 프로그래머가 작성한 소스코드를 컴파일(기계 어화)을 하여 프로그램이 완성됩니다. 그렇다면, 프로그래머가 하나부터 열까지 모든 부분을 소스코드에 작성할까요? 그렇지 않습니다. 외부에서 제공, 또는 만들어진 라이브러리를 블러 온다던가 , 컴파일러의 환경을 지정해준던가 , 소스코드에 어떤 특정한 키워드를 만들어주던 다양한 준비과정이 있습니다. 이 이후에 소스코드를 작성하고 컴파일을 해서 프로그램이 완성되는 것입니다. 즉 전처리기는 본 프로그래밍 소스코드 작성 및 컴파일을 하기 전에 하는 작업들을 일컫습니다. 이 전처리기는 다양한 키워드로 구성되어 있으며 이미 익숙한 전처리기 키워드도 있을 것입니다. 전처리기 키워드(지시자) 알아보기 전..

    2021.07.30

    컴퓨터/C

    Commnet

  10. C 언어 - 상수의 종류 - 리터럴과 심볼릭 상수

    상수란? 프로그래밍에서 상수의 개념은 '직접적인 표현으로 의미가 변한 지 않는 값'이라고 말합니다. 작성하는 소스코드에 상수들의 개념은 크게 리터럴 상수와 심볼릭 상수 2개로 나누어집니다. 이미 알고 있는 개념이고 사용하고 있는 개념일 수 있지만 용어를 익히는 것은 중요한 부분이기 때문에 다시 한번 정리해서 알아보도록 하겠습니다. 리터럴 상수(Literal constant) 프로그래밍을 공부하다 보면 리터럴 상수라는 말을 많이 들어봤을 것입니다. 이 리터럴 상수, literal의 사전적 의미는 문자 그대로, 정확한이라는 뜻을 가지고 있습니다. 직역해보자면 '문자 그대로 정확한 상수'를 리터럴 상수라고 말합니다. 어떠한 간접적인 의미가 없는 직관적인 상수 그 자체를 의미합니다. // 여러 리터럴 상수의 예..

    2021.07.29

    컴퓨터/C

    Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :

1 2 3 4 5 ··· 8
728x90
반응형