프로그래밍/C
-
[C언어] 7-2. 공용체프로그래밍/C 2014. 4. 9. 16:08
1. 공용체의 정의 - 공용체는 자용자 정의 데이터형의 하나로 서로 다른 데이터형을 가진 멤버변수들을 하나의 그룹으로 묶어 동일한 기억공간을 멤버들끼리 함께 공유해서 사용하도록 할당한 구조. - 공용체의 경우 기억공간을 할당할 때 멤버변수들 중 가장 큰 기억공간을 필요로 하는 멤버에 맞춰서 할당- 공용체의 선언형식은 다음과 같다.union STUD {int hak;char class1;double avg;}; * 참고사항여기서 C언어의 정리는 마치도록 하겠다. 뒷부분에 파일처리 함수단원이 존재하긴 하지만 그 단원에서는 코드 작성을 해보는게 공부하는데에 더빠른것같기도 하고 현재 동시에 3가지 언어를 정리하느라 공부가 아니라 정리에 시간을 너무 많이 투자하는것 같기도하여 생략하였다. 추가로 정리할 부분에 대..
-
[C언어] 7-1. 구조체프로그래밍/C 2014. 4. 9. 01:03
1. 구조체의 개념과 선언 * 구조체의 개념 - 구조체는 사용자가 직접 만들어 사용할 수 있는 사용자 정의형 데이터 타입으로 서로 다른 데이터형을 가진 변수들을 하나의 그룹으로 묶어서 만들어진 데이터형 * 구조체의 특징- 구조체는 서로 다른 자료형의 모임을 하나의 자료형으로 정의하여 사용- 구조체 변수를 함수의 인자로 사용가능- 구조체는 struct라는 예약어를 사용- 구조체 정의 시 typedef을 사용하여 타입 재정이 가능- 구조체 정의 시 태그(tag)명 생략이 가능- 메모리의 할당과 반환 등 동적인 관리가 가능 * 구조체의 정의와 선언- 구조체의 정의 형식은 다음과 같다struct 구조체이름 {멤버변수형 멤버변수1;멤버변수형 멤버변수2;...};- 구조체 변수의 선언 형식은 다음과 같이 다양한 방..
-
[C언어] 6-2. 포인터프로그래밍/C 2014. 4. 7. 21:30
1. 포인터의 개념 - C에서 모든 변수는 데이터 값과 할당된 기억공간의 주소를 가지고 있다 - 포인터는 기억공간의 주소를 의미하며 일반변수가 데이터 값을 저장하는 메모리 공간이라면 포인터 변수는 변수가 할당받은 기억공간의 주소를 값으로 갖는 변수라 할 수 있다. 2. 포인터 변수 * 포인터 변수의 선언- 포인터 변수의 경우 변수명 앞에 *(Asterisk Mark)를 붙여서 일반변수와 구분한다.데이터형 *포인터 변수명;- 여기서 주의할 점은 포인터 변수 앞에 선언한 데이터형은 포인터 변수 자신의 타입이 아닌 포인터 변수가 가리키게 될 변수(또는 변수 안에 들어 있는 값)의 타입이라는 점- 모든 포인터 변수는 크기가 4byte이다 (32비트 컴퓨터 기준)int *p;- 포인터 변수 p는 정수형 값이 들어..
-
[C언어] 6-1. 배열프로그래밍/C 2014. 4. 7. 20:41
1. 배열의 개념 - 배열이란 동일한 형의 연속적인 기억공간에 대표이름을 부여해 데이터를 순서대로 저장하는 변수 공간을 의미 - 배열의 형태에 따라 1차원 배열과 다차원 배열(2차원, 3차원 등) 로 분류 * 배열선언 형식- 배열을 선언하는 형식은 다음과 같다.데이터형 배열명 [크기];char str[5]; * 배열의 특징- 배열은 동일한 데이터형의 데이터를 저장할 수 있는 연속적인 기억공간- 배열은 일차원뿐만 아니라 다차원 배열로도 사용할 수 있다.- 배열의 각 요소를 하나의 변수처럼 사용할 수 있다.- 배열의 각 요소는 자료형과 함께 기억 클래스도 가질 수 있다.- 배열의 각 요소는 첨자를 이용해서 구분하며 첨자는 반드시 0부터 시작 2. 1차원 배열 데이터형 배열명[크기]; int number[5]..
-
[C언어] 5-4. 기억클래스프로그래밍/C 2014. 4. 6. 23:37
1. 지역변수와 전역변수 * 지역변수 (자동변수) - 지역변수는 함수나 임의의 블록 내부에서 선언된 변수로 자신이 선언된 함수나 한 블록 내에서만 사용이 가능하고 그 영역을 벗어나면 자동으로 메모리를 반납하고 사라진다.- 메모리의 영역 중 Stack이라 부르는 임시저장영역에 위치한다.- 지역변수는 초기화하지 않으면 쓰레기값이라 부르는 의미 없는 아주 작은 값으로 채워지므로 계산식에 바로 사용할 경우에는 미리 초기화해서 사용하면 예기치 않은 에러를 줄일 수 있다. * 전역변수- 전역변수는 함수의 외부에서 선언된 변수로 한 프로그램 내에서 사용이 가능하므로, 프로그램을 구성하고 있는 함수나 블록에서 모두 접근 가능- 전역변수들은 메모리 영역 중 공유데이터 영역에 위치하게 되고 프로그램이 종료될 때까지 유효하..
-
[C언어] 5-3. 사용자 정의 함수프로그래밍/C 2014. 4. 5. 22:33
- 사용자 정의 함수는 소스 코드 작성 시 프로그래머가 직접 함수를 선언하고 정의해서 사용하는 함수이다.- 모든 함수는 반드시 함수의 자료형을 가져야한다. 1. 함수의 정의 - 기본적인 함수이 정의는 다음과 같은 구조로 설계되어있다. 함수형 함수명(매개변수1, 매개변수2, ...) // 함수 header{내부 변수 선언;실행문장들;... // 함수 내용 영역 (함수 몸체)return;} * 함수형- 함수가 수행된 후 리턴할 값의 타입이 함수형- 함수의 리턴형이 void형이면 함수는 리턴 값이 없는 함수임을 의미하고, 함수의 리턴형을 생략하면 기본적으로 int형으로 간주한 후 int형 값을 리턴- 값을 리턴할때에는 반드시 한 개의 값만 리턴해야한다. * 함수명- 함수의 이름은 일반변수에 이름을 부여할 때의..
-
[C언어] 5-2. 표준함수프로그래밍/C 2014. 4. 5. 20:46
- C에서 사용하는 함수는 C언어가 기본적으로 제공하는 함수인 표준함수와 프로그래머가 직접 만들어서 사용하는 사용자 정의 함수가 있다. 1. 표준함수의 정의 - C언어가 기본적으로 제공하는 함수로서 표준함수의 원형은 헤더 파일(확장자.h)에 선언되어있다. - 예로들어 printf(), scanf()와 같은 표준 입출력 함수는 stdio.h에 그 원형이 선언되어 있고, sin(), cos(), log() 등 수학과 관련된 함수는 math.h 헤더 파일내에, strlen(), strcmp() 등 문자열과 관련된 함수는 string.h 헤더 파일에 선언되어 있다.- 표준함수는 사용 전에 반드시 관련 헤더 파일을 #include 명령문과 함께 프로그램 소스의 시작부분에 포함시켜야 한다. * 헤더 파일과 표준함수..
-
[C언어] 5-1. 함수의 개념프로그래밍/C 2014. 4. 5. 20:12
1. 함수의 개념 - C언어에서 함수는 프로그램 수행 시 반복적으로 자주 사용되는 소스 코드 부분을 따로 모아서 블록 형태로 만들어 두고 그 기능이 필요할 때마다 호출해서 사용하는 기능이다. - 함수는 어떤 기능을 수행하는 데 필요한 일련의 명령어들을 모아 놓은 모듈단위로 표현할 수 있다.- C 프로그램은 함수의 집합으로 구성된 프로그램, 즉 각각의 함수들이 모여서 프로그램 전체 구조를 구성한다고 보면 된다.- C언어는 main()함수로 시작하고 종료해야 하므로 프로그램 내에 반드시 main() 함수를 한번 정의해서 사용해야한다. 2. 함수 사용의 장점 * 코드의 간결성- 반복되는 소스 코드 부분을 하나의 블록형태로 모아두었기 때문에 소스 코드가 간결해지고 분석하기 쉬워진다. * 소스 수정 및 유지보수 ..