
C언어를 주제로 한 마지막 포스팅은 파일처리에 대하여 간단하게 다루어보겠습니다. 마지막으로 다루어볼 내용은 C언어내에서의 텍스트 파일을 다루는 내용입니다. 간단하게 파일을 생성하고 생성한 파일내에 스트링을 넣는것까지만 다루어보겠습니다. C 예제문제 13번 - "오늘은 2021년 1월 11일입니다"라는 문구가있는 텍스트 파일을 생성하라 해결 과정) 먼저 data1.txt라는 파일명으로 파일을 생성하기위해 코드를 작성합니다. char* fname = "data1.txt"; FILE* f; char content[50] = "오늘은 2021년 1월 11일 (월)입니다."; if ((f = fopen(fname, "w")) == NULL) { printf("파일이 열리지 않습니다.\n"); exit(0); } ..

C언어를 주제로 한 열번째 포스팅은 구조체배열과 포인터에 대하여 다루어보겠습니다. 저번시간까지 여러가지 타입의 데이터를 저장할수 있는 구조체에 대하여 스터디 해보았습니다. 이러한 구조체도 배열로 만들어 여러번 선언하지 않고 한번의 선언으로도 다수의 구조체 변수를 사용할수 있습니다. 이번 포스팅은 구조체를 배열로 만들어 구조체배열에 접근하는 방법, 초기화하는방법, 이를 활용하는 방법에 대하여 다루어보겠습니다. C 예제문제 12번 - 다음조건에 알맞은 프로그램을 작성하라. p.606 struct 영화 -- 영화제목, 관객수 영화 5개 선정해서 struct 배열로 만들것!!! init_movie(struct .... ) 영화의 관객수를 기본 1000명으로 세팅함 main에서 for 루프로 각 영화에 대해 in..

C언어를 주제로 한 아홉번째 포스팅은 구조체에 대하여 다루어보겠습니다. 구조체는 여러가지 타입의 변수를 특정한 양식에 따라 초기화 할수있게 만든 변수공간 정도로 생각하면 될것같습니다. 다양한 정보를 갖는 변수를 초기화 하기에 좋습니다. 예를들어 초등학생의 정보라고 하여도 이름,성별,학년,학급,성적,주소 등 하나의 타입으로는 저장하기 힘든 여러 유형의 정보를 가지고 있습니다. 이러한 정보들을 하나의 양식을 만들어 초기화 하는방법으로 구조체를 이용하는것 입니다. C 예제문제 11번 - 사원의 정보를 담는 구조체를 구성하고 연봉을 계산하는 함수를 만들어서 사용하라 해결 과정) step1) 기본적인 인적사항을 초기화할 구조체인 person을 선언하기. person구조체는 마치 명함처럼 개개인의 이름과 전화번호 ..

C언어를 주제로 한 여덟번째 포스팅은 명령행 인자에 대하여 다루어보겠습니다. 지금까지는 헤더파일을 선언하고 main함수에 인자에 항상 void로 채워 넣었습니다. 이는 프로그램을 실행할때 아무런 인자 없이 그냥 실행해왔기 때문입니다. C언어에서는 프로그램을 실행할때 명령행 인자로 값을 줄수 있습니다. 이번 포스팅은 C언어의 메인함수를 "int main(int argc, char *argv[])" 이렇게 선언하여 명령행인자를 주는 방법과 명령행인자를 활용할수 있는 코딩에 대하여 다루어보겠습니다. C 예제문제 10번 - 다음의 조건을 만족하는 프로그램을 작성하시오. 명령행 인자로 두 개의 문장을 받는다. (두 개의 문장이 안되면 될 때까지 계속 받아야 함.) 각각의 문장의 길이가 얼마인지 알아내어 출력하기...

C언어를 주제로 한 일곱번째 포스팅은 문자열에 대하여 다루어보겠습니다. 지금까지 여러가지 배열의 선언과 그배열을 활용하는예제들을 통해 스터디하였습니다. 하지만 지금까지는 모두 숫자에 관련된 변수타입을 다루었습니다. 이번엔 문자형 데이터 타입인 char형으로 이루어진 문자열에 대하여 스터디하겠습니다. C 예제문제 8번 - 다음의 조건을 만족하는 프로그램을 작성하시오. 두 줄의 문장을 입력받기 (line1[], line2[])... gets 사용 line1과 line2에 입력받은 문자 수 구하기 count_chars() 함수 만들어 사용하기 해결 과정) Step1) gets 함수를 이용하여 line1,line2스트링배열 초기화하기 먼저 메인함수 내에서 스트링배열 line1과 line2를 크기 [50]으로 선..

C언어를 주제로 한 여섯번째 포스팅은 다차원 배열과 포인터, 함수에 대하여 다루어보겠습니다. 지금까지는 1차원배열과 그 배열에 포인터를 링크하여 주소에 접근하는 것을 위주로 스터디 하였습니다. 이번 포스팅에서는 1차원배열들이 모여 만들어진 2차원배열과 그 배열의 주소에 접근하는 포인터와 간단한 함수의 선언과 사용에 대하여 다루어보겠습니다. 먼저 일차원 배열과 함수를 활용한 예제문제를 통하여 함수와 배열을 연습해보겠습니다. C 예제문제 7번 - 50에서 99사이의 값을 20개 만들어 1차원배열을 초기화하고 가장큰값과 그값의 인덱스를 리턴해주는 프로그램을 작성하시오 해결 과정) Step1) 50~99 사이의 난수만들어서 1차원 배열에 초기화하기 srand((long)time(NULL)); int arr[20..

이번 포스팅은 제가 대학교 조별과제 발표로 준비한 ppt의 내용을 첨부하여 전위연산자와 후위연산자가 어떠한 역할을 하는지, 또 차이가 무엇인지를 간단한 예제와 코드를 살펴보며 공부해보겠습니다. 주제는 아스키 코드에 초기화되어있는 char변수의 int값을 이용하여 증감연산을 하였을때 과연 후위연산과 전위 연산은 어떠한 차이를 가져오는지 살펴보는것 이었습니다. 문제를 살펴본후 조원들과 같이 해결방안을 모색해보았고 결과은 다음 피피티 자료 와 같았습니다. 마지막으로 기대값과 결과값을 대조한 자료를 살펴보며 이번 포스팅을 마치겠습니다.

본문 들어가기전) 저번 포스팅에서 scanf함수의 주소에 대하여 자세히 다루겠다는것이 생각나 vi 에디터로 깡코딩 한 것중 일부인데 가져왔습니다. 위의 19번 라인부터 23번 라인에 대해 자세히 설명을 들어 보충하겠습니다. 19번 라인 : i가 0부터 SIZE까지 반복되는 포루프를 선언함 20번 라인 : 반복문의 시작 중괄호 21번 라인 : 배열의 i번째 원소에 정수를 입력받음, scanf함수의 사용, scanf함수는 두가지의 인자(형식지정자, 주소값)을 받아 들입니다. p.195: 만일 주소연산이 아닌 변수로 기술하면 입력값이 저장될 주소를 찾지 못해 오류가 발생한다 scanf(“형식 지정자(%d, %u, %c 등등…)” ,값을 저장할 변수의 주소값( &(변수명), 포인터변수 등등…) ) ; 이때 pa..