728x90
반응형

G91 개발일지

총 381개의 포스트

G91 개발일지(381)

  1. C 언어 - 다중 포인터

    다중 포인터 어느 정도 포인터의 개념이 익숙해졌다면, 다중 포인터에 대하여 알아보겠습니다. 다중 포인터란 포인터를 담는 포인터의 개념입니다. 포인터를 정확하게 이해하고 있으면 다중 포인터의 개념을 이해하는 데는 문제가 없을 것입니다. 다중 포인터의 선언과 사용 해기 보기 다중 포인터는 포인터 변수를 선언하는 *의 개수로 몇 중 포인터인지 선언을 합니다. 예를 들어 2중 포인터의 선언은 다음과 같습니다. int val; // 일반 변수 int* p; // 1중 포인터 변수 int** pp; // 2중 포인터 변수 3가지 변수에 대하여 특징을 다시 한번 정리해 보자면 다음과 같습니다. 일반 변수 val 일반 변수는 할당된 메모리 주소 안의 데이터를 사용할 수 있습니다. 1중 포인터 변수 p 포인터 변수 p ..

    2021.06.24

    컴퓨터/C

    Commnet 2

  2. C 언어 - 구조체 포인터

    구조체 포인터 사용자 정의 자료형인 구조체도 포인터 변수를 통해 제어를 할 수 있습니다. 구조체 포인터를 사용하면 다른 포인터 변수들처럼 다른 지역에서 해당 지역에 있는 변수를 제어를 가능하게 합니다. 기본 자료형 포인터의 경우 저장된 메모리 주소 부터 자료형의 크기까지의 메모리 공간을 제어할 수 있습니다. 하지만 구조체의 경우 사용자 정의 자료형이며, 여러가지 자료형이 묶여서 만들어진 형태입니다. 포인터를 사용하여 구조체 안의 묶여있는 각각의 자료형에 접근을 할수 있는 문법적 약속이 필요합니다. 구조체 포인터의 선언 구조체 포인터의 선언은 기본 자료형 포인터와 동일합니다. typedef struct Job { char name[10]; int att; int HP; }JOB; int main() { J..

    2021.06.23

    컴퓨터/C

    Commnet

  3. C 언어 - typedef 키워드

    typedef 키워드 - 타입을 재 정의하다. 이제 C언어에서 사용하는 모든 자료형을 다 배웠습니다. 이 자료형에 부여된 이름은 C언어 안에서 메모리 공간을 어떤 방식으로 얼마큼 할당할 거냐에 대한 약속된 키워드입니다. 자주 쓰는 자료형들은 사용자에게 익숙할 수 있지만 자주 쓰지 않거나 생각보다 입력해야 될 것이 많은 키워드들이 있습니다. 이런 키워드들을 사용자가 원하는 이름으로 재정의하여 사용하기 위한 키워드가 typedef입니다. typedef키워드를 잘 사용한다면 불필요한 타이핑을 줄이며 조금 더 효율적인 소스코드를 작성할수 있습니다. 기본 자료형에 typedef 어떠한 프로그래밍을 하는데 가장 좋은 자료형이 unsinged cahr 라고 가정을 해봅시다. 그리고 이 프로그램에 unsigned ch..

    2021.06.22

    컴퓨터/C

    Commnet

  4. C 언어 - struct(구조체)

    struct(구조체) - 사용자 정의 자료형 C언어에서는 struct라는 키워드를 이용해서 구조체 즉 사용자가 원하는 자료형을 만들 수 있습니다. 구조체를 사용하면 여러 자료형들을 조합하여 자신이 원하는 자료형을 만들고 사용할수 있습니다. 구조체의 장점은 무엇인가? 여러 자료형을 묶어서 하나의 자료형으로 만든다는 것은 컴퓨터에 입장에서는 별반 차이가 없을 수 있지만, 사람에게는 엄청난 이점으로 다가옵니다. 예를 들어 게임의 플레이어의 직업을 만드는 프로그래밍을 한다고 가정해 보겠습니다. 4가지의 직업과 각각의 직업에는 직업명, 공격력, 체력이 있다고 가정해 보도록 하겠습니다. 이전에 배운 기술들을 종합하여 프로그래밍을 하면 다음과 같이 할 수 있을 것입니다. char name1 = "전사"; int at..

    2021.06.22

    컴퓨터/C

    Commnet

  5. C 언어 -포인터와 배열

    포인터와 배열 포인터와 배열의 개념을 이해를 했다면 이 둘을 조합하여 조금 더 프로그래밍적 기법들을 사용할 수 있습니다. 우선 이 둘에 대하여 다시 정리해 보도록 하겠습니다. 포인터 포인터는 메모리 주소를 저장할수 있다. 저장된 메모리 주소에 접근하여 메모리 주소 안의 값을 변경할 수 있다. 배열 동일한 자료형의 변수의 묶음이다. 배열은 대괄호 [ ] 안에 인덱스 번호를 참조하여 각각의 요소에 접근할 수 있다. 배열의 이름은 배열이 시작하는 가장 처음의 메모리 주소이다. 배열의 시각화 아래오 같은 배열을 선언했다고 하면 메모리에서 배열은 어떻게 존재할까요? int arr[2] = {0,}; 편의상 메모리 주소는 1byte씩 10진수로 표기했습니다. 요약하자면 아래와 같습니다. int형 배열 arr[2]를..

    2021.06.21

    컴퓨터/C

    Commnet

  6. C 언어 - const 키워드

    키워드 const - 상수화 시키다 / 고정시키다. 프로그래밍을 하면 프로그래머는 다양하게 프로그램 안의 데이터를 사용하고 변환시킬 수 있습니다. 프로그램의 양이 방대해질수록 프로그래머가 제어해야 될 데이터들을 엄청나게 많아집니다. 만약 원을 계산하기 위한 다양한 프로그램을 만든다고 가정을 하면, 원주율(파이) 값을 많이 사용을 할 것입니다. 이런 원주율 값을 프로그래머가 사용을 하려면 크게 2가지 방법이 있을 것입니다. 매번 소스코드에 상수 3.141592의 상수를 입력한다 변수를 하나 선언하고 3.14 1592를 저장하여 변수명으로 사용한다. 자주 사용하게 된다면 직접 3.14 1592라고 치는 것보다 변수를 선언에서 사용하는 게 효율적일 겁니다. 하지만 우리가 변수를 사용하게 된다면 고의든 실수든 ..

    2021.06.18

    컴퓨터/C

    Commnet

  7. 백준 2475 - 검증수(C언어)

    2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 문제파악 및 구현 준비 총 5자리(개)의 정수의 입력을 받는다. 입력받은 5개의 정수를 각각 제곱하여 더한다 더한 값을 10으로 나눈 나머지 값은 검증수 이다. (출력) #define _CRT_SECURE_NO_WARNINGS #include int main() { int input[5] = { 0, }; // 5자리 입력 받을 배열 선언 int sum = 0; // 받은 배열의 각각의 인덱스 제곱을 더할 변수 선언 for (int i = 0; i < 5; i..

    2021.06.17

    컴퓨터/문제풀이집

    Commnet

  8. C 언어 - 형변환(Casting)

    형 변환이란? 프로그래밍에서 데이터를 메모리 공간에 저장하기 위해서는 메모리 공간에 맞는 자료형이 필요합니다. 이 자료형이 한번 선언된 자료형의 데이터를 다른 자료형으로 변환을 하거나 다른 자료형끼리 연산을 하기 위해서는 같은 자료형으로 바꾸어 주어야 메모리상에서 정상적인 연산이 가능합니다. 이렇게 데이터의 자료형을 바꿔주는 기법을 형 변환이라고 합니다. 이 형 변환에는 크게 2가지가 있습니다. 암시적 형 변환 자동으로 자료형이 아닌 다른 자료형으로 형 변환이 되는 형태 명시적 형 변환 사용자에 의도에 따라 자료형이 바뀌는 형 변환 암시적 형 변환 암시적 형 변환이란 자료형의 우선순위에 따라 데이터의 자료형이 자동적으로 바뀌는 형 변환을 말합니다. 이런 묵시적 형변환은 자동적으로 바뀌기 때문에 데이터의 ..

    2021.06.17

    컴퓨터/C

    Commnet

  9. 백준 1550 - 16진수(C언어)

    1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 문제파악 및 구현 준비 문제는 16진수의 입력을 10진수로 변환하여 출력하기 방법 1 : 16진수를 문자열로 취한 후 문자열에 따른 10진수 변환하기 방법 2 : 서식지정자를 통한 16진수로의 입력후 10진수의 출력 본문에서는 서식지정자를 통한 출력으로 해결 #define _CRT_SECURE_NO_WARNINGS #include int main() { int input; scanf("%X", &input); // 대문자 16진수 표기 입력 printf("%d", input..

    2021.06.17

    컴퓨터/문제풀이집

    Commnet

  10. C 언어 - 오버플로우와 언더플로우

    메모리공간의 할당을 넘어선 값 메모리공간을 1Byte 사용하여 변수를 할당하면 2^8 즉 256개의 표현이 가능합니다. 그렇다면 사용자가 어떠한 프로그래밍 언어를 통해서 할당된 변수의 메모리공간을 초과하는 데이터를 입력하면 어떻게 될까요? 이렇게 메모리 공간을 초과한 데이터가 들어왔을때 생기는 현상을 오버플로우,언더플로우라고 말합니다. 오버플로우(OverFlow) 변수가 표현할수 있는 최대의 범위를 넘어가는 경우를 변수의 오버플로우 현상이라고 말합니다. C언어의 자료형 char의 경우 -128~127의 범위를 가지고 있습니다. 이때에 프로그래밍에서 char형 자료형을 가진 변수가 127 이상의 값이 들어가려고 하면 오버플로우 현상이 생기는 것 입니다. 메모리 구조를 보면서 한번 알아보도록 하겠습니다. C..

    2021.06.16

    컴퓨터/C

    Commnet

G91개발일지

Gon91(지구일)

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

TODAY :

YESTER DAY :

TOTAL :

1 ··· 27 28 29 30 31 32 33 ··· 39
728x90
반응형