언어/C 8

구조체

「구조체」 - 여러 개의 변수들을 묶어서 새로운 자료형을 만드는 방법 int number; char name[10]; double price; 구조체 선언-> struct stock{ int number; char name[10]; double price; }; stock: 구조체 정의하는 키워드 stock: 구조체 이름(태그) 구조체 멤버들-> int number; char name[10]; double price; > 태그는 구조체와 구조체를 구별하기 위해서 구조체에 붙여지는 이름이다. 태그 다음에 중괄호를 써주고 중괄호 사이에 원하는 변수를 선언하면 된다. 이렇게 선언된 변수들을 구조체 멤버라고 한다. 구조체 멤버는 구조체에 포함되는 변수이며 어떠한 자료형의 변수도 구조체의 멤버가 될 수 있지만, ..

언어/C 2022.11.07

포인터

「포인터」 > 메모리의 주소를 가지고 있는 변수이며 컴퓨터에서 메모리는 바이트 단위로 주소가 매겨져 있다. 컴퓨터 메모리에서도 주소로 접근할 수 있고 주소를 이용하여 값을 저장하기도 하고 읽기도 한다. > 프로그램에서 변수를 만들면 이들 변수를 만들면 이들 변수는 컴파일러에 의해 메모리 공간의 비어있는 위치를 차지한다. 변수의 크기에 따라서 차지하는 메모리 공간이 달라진다. 일반적인 pc환경에서 char형 변수는 1바이트, int 형 변수는 4바이트, float형 변수는 4바이트를 차지한다. > 메모리에서는 각 바이트마다 고유한 주소가 매겨진다. 이들 주소를 사용하여 우리는 메모리 바이트에 접근할 수 있다. 「주소 연산자&」 > c언어에는 변수의 주소를 계산하는 연산자 &가 있다. 주소 연산자 &는 변수..

언어/C 2022.10.27

배열

「배열」: 많은 값을 한 번에 저장할 수 있는 저장소 > 배열은 동일한 타입의 데이터가 여러 개 저장되어 있는 데이터 저장 장소이다. 배열 안에 들어있는 각각의 데이터들은 정수로 되어 있는 번호에 의해 접근된다. 배열 이름에 번호를 붙여서 각각의 데이터들을 접근한다. - 배열은 메모리의 연속적인 공간에 저장된다. - 배열의 가장 큰 장점은 서로 관련된 데이터를 차례로 접근하여 처리할 수 있다는 점이다. 「배열의 선언」 자료형 배열이름[요소의 개수] -> int score[10]; float cost[12]; char src[10], dst[10]; int indwx, days[7]; 「배열과 반복문」 > 배열의 가장 큰 장점은 반복문을 사용해서 배열의 요소를 간편하게 처리할 수 있다는 점이다. score..

언어/C 2022.10.27

함수&변수

「함수」: 특정 작업을 수행하는 명령어들의 모음 반환형 함수이림(){ 함수 몸체 } void counting_star(){ for (i=0;i 반환형, 함수이름, 매개변수를 합쳐서 '함수헤더'라고 한다. 함수는 서로 구별되는 이름을 가지고 있다 함수는 특정한 작업을 수행한다 함수는 입력을 받을 수 있고 결과를 반환할 수 있다. -반환형은 함수가 처리를 종료한 후에 호출한 곳으로 반환하는 데이터 유형이다 - 함수이름은 식별자에 대한 규칙만 따른다면 어떠한 이름도 가능하다. 다만 소스코드를 읽기 쉽게 하기 위하여 함수의 기능을 암시하는 이름을 사용하는 것이 좋다. - 함수몸체에는 함수가 수행하는 데 필요한 문장이 들어간다. 함수 몸체에 포함될 수 있는 문장에는 아무런 제한이 없으며, 함수 내에서 변수를 정의..

언어/C 2022.10.26

제어문

제어문: 문장을 실행되는 순서를 제어하는 문장이며, 조건문과 반복문으로 나눈다. 「조건문」 > 순차구조: 명령들이 순차적으로 실행되는 구조 > 선택구조: 둘 중의 하나의 명령을 선택하여 실행되는 구조 > 반복구조: 동일한 명령이 반복되면서 실행되는 구조 「if문」 if(조건식) 실행문 > 일반적으로 조건식에는 연산의 결과값이 참이나 거짓으로 생성되는 수식을 사용한다. 따라서 조건식은 일반적으로 관계수식이나 논리 수식이 된다. 「if-else문」 if(조건식) 실행문 else 실행문 > if-else문에서는 (x>y)?x:y와 같은 조건 연산자를 사용할 수 있다. 「다중 if 문」 if(조건식1) if(조건식2) 문장; 「연속 if 문」 if(조건식1) 문장1; else if(조건식2) 문장2; else ..

언어/C 2022.10.20

수식과 연산자

「수식」: 피연산자들과 연산자의 조합 > 연산자: 어떤 연산을 나타내는 기호 > 피연산자: 연산의 대상 -연산자의 종류 연산자의 분류 연산자 의미 대입 = 오른쪽을 왼쪽에 대입 산술 + - * / % 사칙연산과 나머지 연산 부호 + - 암수와 음수 표시 증감 ++ -- 증가, 감소 연산 관계 > = 비트별 AND, OR, XOR 이동, 반전 sezeof 연산자 sizeof 자료형이나 변수의 크기로 바위트 단위로 변환 형변환 (type) 변수나 상수의 자료형을 반환 포인터 연산자 * & [ ] 주소계산, 포인터가 기리키는 곳의 내용을 추출 구조체 연산자 . -> 구조체의 멤버 참조 -산술 연산자 연산자 기호 사용예 결과값 덧셈 + 7+4 11 뺄셈 - 7-4 3 곱셈 * 7*4 28 나눗셈..

언어/C 2022.10.20

변수와 자료형

「변수」: 프로그램에서 값을 저장하기 위한 것 변수: 한번 값이 저장되었어도 언제든지 다시 다른 값으로 변경이 가능 한 데이터 상수: 값이 한번 정해지면 변경할 필요가 없는 데이터 「자료형」: 데이터의 종류 정수형 부동소수점형 문자형 short float char int double long long double long #include int main(void) { int x; printf("변수 x의 크기: %d\n", sizeof(x)); printf("char x의 크기: %d\n", sizeof(char)); printf("int x의 크기: %d\n", sizeof(int)); printf("short x의 크기: % d\n", sizeof(short)); printf("long의 크기: %d..

언어/C 2022.10.20

구성요소

「C언어 특징」 간결한 언어: 꼭 필요한 기능만 들어가 있고, 표기법이 간결하게 되어있다. 효율적인 언어: C로 작성된 언어는 프로그램이 크기가 작으며, 실행속도가 빠르고 메모리를 효과적으로 사용한다. C언어는 저수준의 프로그래밍도 가능하고 고수준의 프로그래밍도 가능하다. C언어는 모듈 단위의 프래그램 작성을 지원하고 분할 컴파일도 가능하기 때문에 고수준에서의 프로그램도 작성 가능하다. 하향식 설계, 구조화 프로그래밍, 모듈화 설계 등의 소프트웨어 공학의 다양한 기법들을 적용할 수 있다. 이식성이 강하다 「프로그래밍 과정」 1> 설계: 문제를 해결하는 알고리즘을 개발하는 단계 2> 구현: 개발도구를 사용하여 프로그램 소스를 작성하고 컴파일한 수 실행 - 컴파일 오류는 없지만, 알고리즘을 잘못 생각하여 의..

언어/C 2022.10.19