C언어 Chapter 20. 🎯 배열 복습 - 배열은 포인터와 유사하여 사용방식이 다양하다. A[0] = 8; *(A+0) = 8; *A = 8; - 위 소스는 모두 같은 것을 의미한다. 다차원 배열 지금까지의 배열은 일직선상에 늘어서 있는 1차원적인 개념이였다. 다차원배열에서 2차원배열에 대해 살펴보자. 🔔 예) 2차원 배열을 초기화하여, 화면에 출력하는 프로그램 💡 위 배열 선언 형식은 선언과 동시에 초기화 하였을때만 가능하다. 🎯 프로그램 설명 array[3][4] 에서 [3]은 '행', [4]는 '열'을 뜻한다. array[4]→ [0] [1] [2] [3] [0] 0, 0 0, 1 0, 2 0, 3 [1] 1, 0 1, 1 1, 2 1, 3 [2] 2, 0 2, 1 2, 2 2, 3 ↑ arra..
C언어 Chapter 19. 배열 복습 int word[3]; &word + 1 위와 같은 연산일 경우 배열 전체 이동으로 4byte 씩 3번 이동. 즉, 주소값이 12byte 이동한다. 💡 gcc --version : gcc 버전 출력 명령 🔔 예) 배열의 주소값 증가 🎯 프로그램 설명 &Data + 1 의 결과 값이 BFFFF9BC BFFFF9B4 보다 12byte 이동한 것을 알 수 있다. 결과 🔔 예) 포인터 표기법과 배열 표기법을 사용한 프로그램의 예 결과 : 포인터 표기법에 따른 다양한 배열의 합을 구하는 방법을 알려준다. const 🔔 예) const 위치에 따른 변화 🎯 프로그램 설명 int *p =Data; const int * cp = Data; int * const pc = Data;..
C언어 Chapter 18. 함수 포인터 같은 형식의 "ABCDEF" 문자 배열이면 변수가 달라도 같은 주소값을 쓴다. char word[] = "ABCDEF"; 위와 같이 배열의 수를 적지 않는 경우 자동으로 오른쪽값을 세어준다. (NULL을 포함해 7byte) (" ") 는 printf에서 인자 이며 주소값을 가지는 Read만 가능한 상수이다. 📌 상수(변하지않는 수) 선언 const char a; 🔔 예) printf 함수의 진실 🎯 프로그램 설명 지금까지 써왔던 printf 의 (" ")는 상수 이며 그 주소값에서 Read하여 사용하고 있었음을 의미한다. (printf, scanf) (const char *, ...) = ("") 같은 문자열일경우 같은 변수가 다르더라도 같은 주소값을 사용한다. ..
C언어 Chapter 17. 수학 함수 수학함수를 이용하기 위해서 파일을 이용한다. gcc 컴파일의 경우 gcc -o main main.c -lm 으로 컴파일 해야한다. cl 컴파일은 자동으로 파일을 찾아 준다. gcc 컴파일의 라이브러리 함수 위치 /user/lib/ 위치의 libc.a windows 컴파일의 라이브러리 함수 위치 C:\Program Files\Microsoft Visual Studio\VC98\Lib 위치의 LIBCP.LIB 수학 관련 함수 Ex) 수학함수 사용법 결과 난수 생성 함수 rand() rand() 함수는 파일에 명시되어 있다. 0 ~ 32767 사이의 정수를 반환 한다. 보통 인수 값으로 time(NULL) 함수를 이용한다. time() 함수는 1970년 1월 1일로부터 ..
목차 return 함수의 결과값은 return문을 통하여 호출자에게 반환된다. 예) 양의 정수를 입력받아 그 숫자만큼 별표를 출력한다. 입력값이 50이상이면 50개의 별표만 출력한다. 입력값이 0이면 프로그램은 종료된다. 입력값이 음수일 경우 다시 입력할 수 있게 작성되었다. int getnum() 음수 값을 입력할 경우, 다시 입력할 수 있게 작성되었다. int cheknum(int n) 숫자를 50까지 제한하고 있다. void printstsr(int n) n이 n-- 가 되어 0이될때까지 *을 찍는다. 결과 return 사용 예 return; // 반환값없이 함수실행을 종료하는 경우 return (21); return (x + 4); return x++; 함수의 인수전달 기법 인수의 전달방법(par..
C언어 Chapter 15. 함수의 호출과 실행 함수의 구성 함수의 정의 함수의 호출 함수의 원형 Ex) 두 정수를 입력 받아 평균값을 출력하는 프로그램으로 평균값은average()함수가 산출한다. 프로그램의 설명 함수의 정의 float average(int n1, int n2 ); 반환자료형 함수이름 (인자); { 명령문 } avrg = average (num1, num2); 함수이름 (인수 리스트); TIP : 인수의 개수는 ( , ) 로 구분한다. 함수 호출의 실행 과정 average()함수의 호출 호출된 average()함수를 피호출자, 호출한 main()함수를 호출자라고 부른다. 함수의 호출과정에서 호출자는 피호출자에게 인수를 전달한다. 호출자의 변수 num1과 num2의 값은 average()..
C언어 Chapter 14. C언어 연습문제 📌 세변수를 아래와 같이 설정하여, 변수의 값과 주소를 출력하는 프로그램을 작성하라. int inumber = 25 float fnumber = 34.5 char ch = 'g' 소스코드 결과 📌 위의 세 변수를 가리키는 포인터 변수를 각각 설정하여, 포인터 변수를 이용해서 세 값을 출력하는 프로그램을 작성하라. 소스코드 결과 📌 float형 변수 fnumber를 38.9로 설정한 다음, fnumber의 각 바이트의 내용을 아스키 코드로 출력 하라. 소스코드 결과 📌 int 형의 변수 inumber의 값을 키보드로부터 읽어서 설정한 다음, 포인터 변수를 이용해서 inumber의 값을 두 배로 만들어서 출력하는 프로그램을 작성하라. 소스코드 결과 📌 포인터 변수..
C언어 Chapter 13. 텍스트 파일 🔔 예) 텍스트파일의 내용을 화면과 파일로 출력하는 프로그램 d0327.in 으로 텍스트 파일 생성 같은 폴더 내에 C소스코딩 결과 fpin = fopen("d0327.in", "r"); fopen() 은 외부파일과 프로그램을 연결시키는 라이브러리 함수이다. d0327.in 은 파일명 이다. fpout = fopen("d0327.out", "w"); "w" = 쓰기 "r" = 읽기 (!feof(fpin)) 현재위치가 fpin 파일의 끝인지 아닌지의 여부를 알려주는 함수 파일의 끝 eof(end-of-file)이 아니면 0을 반환한다. 💡 Tip : (!feof(fpin) 보다 while문에서 ((0 == feof(fpin))이 알아보기 쉽다. fscanf(fpin..