전체 글(49)
-
[C] C언어 공부하기 12. 문자열 함수
출처 : http://www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 12-1. 문자열 함수 12-1-가. 문자열 복사 str1, str2, str3가 문자형 배열일 때 다음 코드는 모두 동작하지 않는다. str1="Korea"; // 문자열 상수를 대입할 수 없음 str1=str2; // 배열끼리도 대입할 수 없음 str3=str1+str2; // +연산자로 문자열을 연결할 수 없음 if (str1 == str2) // ==연산자로 문자열끼리 비교할 수 없음 문자열 함수들은 대부분 string.h에 선언되어 있으므로 이 헤더 파일을 인클루드해야 한다. 다음 함수는 문자 배열에 문자열을 복사하는데 문자열 함수 중에 가장 기본이 되는 함수이다. char *strcpy(char ..
2020.01.06 -
[C] C언어 공부하기 11. 배열과 포인터
출처 : http://www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 11-1. 첨자 연산 11-1-가. 배열의 내부적 처리 동일한 타입의 변수 집합인 배열은 정보를 저장하는 가장 기본적인 자료 구조로서 실용성이 높다. 포인터는 조금 어렵기는 하지만 C언어를 다른 언어와 구분하는 가장 큰 특징이다. 이 둘은 아주 긴밀한 연관을 맺고 있으며 상호 보완적이면서 또한 일정 부분에 있어서는 대체도 가능하다. .C언어의 배열은 다음과 같은 두 가지 특징을 가진다. ■ C는 내부적으로 1차원 배열만 지원한다. 2차원 이상의 다차원 배열은 1차원 배열의 확장에 불과하다. ■ 배열을 구성하는 배열 요소의 타입에는 전혀 제한이 없다. T형 변수를 선언할 수 있으면 T형 배열도 언제나 선언할 ..
2020.01.06 -
[C] C언어 공부하기 10. 포인터
http://www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 10-1 포인터 연산 10-1-가. T형 포인터 포인터는 메모리의 한 지점, 간단히 말해 번지값을 가지는 변수이다. 임의의 타입 T가 있을 때 T형의 포인터 변수를 선언할 수 있다. int, char, double 등의 기본적인 데이터 타입에 대해 int *, char *, double *형의 변수를 선언할 수 있음은 물론이고 구조체, 공용체, 배열에 대해서도 포인터형을 만들 수 있다. T가 어떤 타입이든지 상관없이 변수 이름 앞에 *구두점만 붙이면 T형 포인터 변수를 선언할 수 있다. * 구두점은 다음 두 가지 형식으로 표기할 수 있다. ① int *pi; ② int* pi; int*를 하나의 타입으로 볼 때는 ②..
2020.01.06 -
[C] C언어 공부하기 9. 배열
출처 : http://www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 9-1 배열. 9-1-가. 배열의 정의 3장에서 정의했듯이 배열은 동일한 타입을 가지는 변수들의 유한 집합이다 int ar[5]; // 크기가 5인 정수형 배열 ar double avg[10]; // 크기가 10인 실수형 배열 avg char st[128]; // 크기가 128인 문자형 배열 st int ar[5]; 선언에 의해 컴파일러는 정수형 변수 5개를 저장할 수 있는 연속적인 메모리 공간을 확보한다. 이 배열은 메모리상에 다음과 같이 생성될 것이다. 자료 구조에는 배열 외에도 연결 리스트, 스택, 큐, 트리 같은 것들이 있다. 다음에 자료 구조를 따로 공부해 보면 알겠지만 이 중 배열이 가장 단순하면..
2020.01.02 -
[C] C언어 공부하기 8. 표준 함수
출처 : http://www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 8-1 수학 함수 8-1-가. 표준 함수 C컴파일러는 많은 수의 표준 함수들을 제공한다. 실력이 되고 시간이 펑펑 남아 돈다면 자신의 필요에 맞게 원하는 기능만 가지는 함수를 입맛에 맞게 만들어 쓰는 것도 가능하다. 그러나 아무래도 직접 만든 함수는 성능이 떨어질 것이고 충분한 테스트를 거치지 않았기 때문에 어떤 상황에서라도 잘 동작할 수 있는 신뢰성을 갖추기 어렵다. 그래서 컴파일러 제작사들은 자주 사용되는 공통적인 함수들을 미리 만들어서 컴파일러와 함께 배포하는데 이를 표준 함수라고 하며 표준 함수들의 집합을 런타임 라이브러리(CRT)라고 부른다. 그래서 우리는 원하는 기능을 제공하는 표준 함수를 골라 ..
2020.01.02 -
[C] C언어 공부하기 7.지역변수
출처 : http://www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 7-1. 지역변수 7-1-가. 전역변수와 지역변수 기억 부류에는 4가지 종류가 있는데 일단 도표로 특성을 요약하였다. 4가지 기억 부류 중에 가장 중요한 것은 전역변수와 지역변수를 구분하는 것이다. 1)변수의 선언 위치가 다르다. 두 부류의 가장 뚜렷한 차이점인데 전역변수는 함수 바깥에서 선언하고 지역변수는 함수 내부에서 선언한다. 2)변수의 통용 범위가 다르다. 전역변수는 특정한 함수 내부에서 선언된 것이 아니므로 함수에 속하지 않고 프로그램 전체가 공유한다. 따라서 변수가 선언된 위치 이후에는 어디서든지 이 변수를 사용할 수 있다. 위 예제에서 보다시피 global은 main 함수나 func 함수에서 자..
2020.01.02