본문 바로가기

728x90
반응형
Develop/C
728x90
반응형
36

터미널을 더 예쁘게! iTerms2 개발환경 국내 맥 사용자가 점점 더 늘어나고 있죠. 개발자 분들도 애플 macOS 를 많이 이용하고 계시는데요. 개발을 하다보면 마주칠 수 밖에 없는 이 터미널(Terminal) 앱!! 터미널 앱을 사용하다보면 검은색 바탕에 흰 글자, 혹은 흰 바탕에 검은 텍스트만 주루루루루룩 나와있는 화면을 마주할 수 있습니다. 꾸미고 싶은 욕구가 샘솟곤 하는데요. 기본 맥에서 제공하는 터미널 앱에서도 꾸며볼 수 있습니다. 위 사진처럼 말이죠. 설정 > 일반 에서 새로운 윈도우 시작 시 프로파일 설정에서 자신이 원하는 테마를 고르시면 됩니다. 프로파일 탭에서 해당 테마의 배경 색이나 텍스트 색도 지정이 가능합니다. 저는 약한 파스텔 색을 적용해 놓은 상태이구요. 하지만 이보다 테마를 더 적용하기 힘들 때가 많습니다. 그래서 우.. 2019. 9. 1.
21 C 언어 메모리 동적 할당 malloc calloc realloc free 예제 이번 시간엔 메모리 동적 할당에 대해서 알아보도록 하겠습니다! 바로 변수들에게 메모리를 사용자가 원하는 대로 공간을 할당해주고 그 공간을 소멸시킬 수 있는 함수입니다! 여기엔 malloc, calloc, realloc 함수가 존재하는데요 하나하나 알아보도록 하겠습니다!malloc 함수예를 들어 한 변수를 선언해 볼게요! char *str = (char*)malloc(sizeof(char)*50); 이런 식으로 선언하는데요! 이 문장의 뜻은 이렇습니다! char형 포인터로 길이가 50인 문자 배열을 담을 수 있는 공간을 할당한다는 뜻이에요! 그리고 이런식으로 char* func (int n) { char *str = (char*)malloc(sizeof(char)*50); ... return str; fr.. 2016. 8. 24.
20-3 C 언어 파일 위치 지시자 fseek ftell 예제 2016/08/21 - [IT/C언어] - 20-2 C 언어 파일의 입출력 심화(바이너리) 예제오늘은 파일 위치 지시자를 배워보도록 할거에요~ 먼저 파일 위치 지시자란 말그대로 파일에서 가리키고 있는 멤버를 말합니다! 즉 파일을 개방하고 문자 단위 출력을 하면 파일 맨 앞 부분부터 차례로 나오는 걸 확인할 수 있죠! 바로 개방 후에는 파일 처음을 가리키고 있는데요 여기서 파일 중간부터나 파일 맨 끝부터 읽고 쓰기를 원한다면 파일 위치 지시자를 이동시켜야해요! 이동하는 함수는 fseek입니다! 그럼 예시를 통해 알아볼까요? 이렇게 abcdefgh가 적혀있는 ex.txt라는 파일이 있다고 가정합시다. file=fopen("ex.txt","rt); fseek(file, 2, SEEK_SET); putchar(.. 2016. 8. 24.
20-2 C 언어 파일의 입출력 심화(바이너리) 예제 2016/08/18 - [IT/C언어] - 20 C 언어 파일의 입출력 예제이번 시간에는 파일의 입출력 심화과정을 공부해 볼게요! 여기서는 텍스트 파일을 복사해서 새로운 파일에 붙여넣어 보는 것과 바이너리 파일을 읽고 쓰는 방법, 파일 위치 지시자를 이동시키는 방법을 알아보도록 하겠습니다!먼저 파일을 복사하고 붙여넣는 예제를 보도록 할까요?이 파일을 가지고 실험해 보도록 하겠습니다! 이 텍스트 파일은 프로젝트 폴더에 소스가 있는 폴더에 넣으면 됩니다!#include int main() { FILE *src = fopen("ex.txt", "rt"); FILE *cpy = fopen("cpy.txt", "wt"); char ch; while ((ch = fgetc(src)) != EOF) { fputc(c.. 2016. 8. 21.
20 C 언어 파일의 입출력 예제 2016/08/17 - [IT/C] - 19-4 C 언어의 구조체 변형 열거형 예제이번 시간에는 C 언어에서 파일에 저장되어 있는 데이터를 읽고 쓸 수 있는 파일의 입출력을 배워보도록 하겠습니다 먼저 파일을 읽기 위해서 뭐가 필요할까요?? 바로 스트림이라는 것이 필요합니다!! 스트림이란? 프로그램과 파일 사이를 연결해주는 다리 역할을 해주는 애를 말합니다!! 그럼 파일을 여는 방법을 예제를 통해 알아볼까요?FILE *file = fopen("File.txt","wt"); 이런식으로 파일을 여는데요! FILE 이 파일은 사실 구조체 포인터 변수입니다! 이러면 fopen 이걸로 파일이 열려서 *file 요 변수를 통해서 접근할 수 있어요~ fopen 이 뒤에 괄호 안에 "File.txt","wt"이 두 개 .. 2016. 8. 18.
19-4 C 언어의 구조체 변형 열거형 예제 2016/08/10 - [IT/C언어] - 19-3 C 언어의 구조체와 비슷한 공용체 예제이번 시간에는 열거형을 공부해 볼 거에요~ 열거형은 구조체나 공용체랑 마찬가지로 선언하거나 다루는 방법은 비슷합니다! 열거형은 변수에 정수 형태로 저장한다는 뜻이에요! 어떻게 보면 배열이랑 비슷한 느낌인데요 이거를 말로만 하면 알아먹기 힘들겠죠? 예제를 통해 알아보도록 하겠습니다!typedef enum table{ one=1, two=2, three=3, four=4, five=5 }Table; 구구단을 출력하기 위한 예제입니다! 이제 메인함수에 이렇게 써넣으면int main() { for(int i=1; i 2016. 8. 17.
19-3 C 언어의 구조체와 비슷한 공용체 예제 2016/08/01 - [IT/C언어] - 19-2 C 언어의 구조체의 포인터 예제!이번 시간에는 구조체와 비슷하지만 다른 공용체를 알아보도록 하겠습니다! 공용체는 struct 대신에 union을 쓰면됩니다 구조체와 비슷하긴 하지만! 주소 할당에서 차이점이 있어요 즉, 구조체는 멤버들마다 주소값이 다르고! 공용체는 한 주소를 공유해서 같이 사용합니다 그럼 예제를 통해 알아보도록 할게요!먼저 구조체를 봅시다! typedef struct pos { int n1; int n2; double n3; }; 이런 구조체가 있다고 칩시다! 여기서 sizeof를 이용해서 pos의 크기를 계산해 보면! int + int + double 으로 16이라는 결과가 나옵니다 하지만 공용체를 쓰면 가장 큰 멤버의 크기가 공용체의.. 2016. 8. 10.
19-2 C 언어의 구조체의 포인터 예제! 2016/07/31 - [IT/C언어] - 19-1 C 언어의 구조체의 기초 예제!이번 시간에는 구조체에 접근 할 수 있는 포인터 변수를 선언하는 방법에 대해 알아보도록 하겠습니다! 구조체 변수의 포인터 변수를 알아보기 전에! 구조체 변수의 주소 값의 특징에 대해 알아보도록 할게요! 구조체 변수의 주소 값은 그 구조체의 첫 번째 멤버의 주소 값과 똑같아요! 저번 시간 구조체를 예를 들자면 구조체 변수의 주소 값이 첫 멤버인 name의 주소값과 동일하다는 거죠! 이제 선언하는 법을 알아보도록 하겠습니다!int num=4; int *ptr = # 포인터 변수를 선언할 때 이렇게 선언했었죠! 구조체 변수의 포인터 변수도 struct pos pos1 = {"name", 5, 20}; struct pos .. 2016. 8. 1.
19-1 C 언어의 구조체의 기초 예제! 2016/07/27 - [IT/C언어] - 18-5 C 언어 문자열 숫자 변환 atoi이번 시간엔 구조체를 배워보도록 하겠습니다!! 구조체란! 하나 이상의 변수를 모아서 새로운 자료형을 정의하는 도구에요! 예를들어 좌표나 개인정보 같은 정보를 표현하려면 변수를 여러 개 선언해야겠죠? 이런 같은 성격을 지닌 변수들을 묶어서 관리하기 쉽게 보관해두는게 바로 구조체입니다!! 그럼 예시를 통해 알아보도록 할게요! struct pos { char name[20]; int xpos; int ypos; }; 생각보다 간단하죠? 저렇게 변수나 포인터, 배열을 다 구조체 안에 넣어놓을 수 있어요! 이제 구조체 변수의 선언방법과 접근법을 알아보도록 하겠습니다!struct pos pos1; 이렇게 선언하면 됩니다! 가운데 .. 2016. 7. 31.
18-5 C 언어 문자열 숫자 변환 atoi 2016/07/24 - [IT/C언어] - 18-4 C 언어 문자열 관련 strcmp, strncmp 예제이번 시간엔 문자열을 숫자로 숫자를 문자열으로 바꾸게 해주는 atoi 함수를 배워보도록 할게요 atoi(const char) atoi는 이렇게 생겼어요 저 괄호 안에 문자열을 집어넣으면 정수 형태로 반환하는 것이죠 그럼 예제를 볼까요? #include #include int main(void){ char *str1; int num; printf("정수 입력: "); scanf("%s", str1); num = atoi(str1); printf("정수는 %d\n", num); } 이렇게 사용해요! 저기 맨 마지막 줄에 printf("정수는 %d\n", num); 여기에서 num를 쓸 필요없이 atoi(.. 2016. 7. 27.