본문 바로가기

C언어

iOS개발하기 #43. iOS Application Life Cycle 오늘의 주제 1. iOS 어플리케이션의 생명주기 2. ViewController의 생명주기 마흔 세번째 시간입니다.^^ 요 며칠 제 개인적으로 좀 힘든일도 있고, 빡빡한 프로젝트 일정 때문에 제대로 포스팅을 하지 못했습니다. 흙흙 아직 프로젝트가 마무리 되지는 않았지만 최대한 짬을 내 보도록 하겠습니다..ㅎ 우리 이제까지 정말 쭉쭉 달려왔습니다. 이것저것 해 보면서 많은 것을 맛 봐왔죠...ㅎ 물론 이것 저것 많이 해 보는 것도, 맛을 보고 언제 어디서 어떻게 써야할지 감을 익히는 것도 중요합니다. 그러나 더더욱 중요한 것은 통괄적인 흐름이고 기초죠. 초반에 포스팅 할 때 말씀드렸듯이 아주 기초적인 사항들은 많이 스킵하고 넘어왔습니다. 이번에는 그래서 정말 기초 하나를 같이 알아보고자 합니다. 물론 초보.. 더보기
C <20>. enum 오늘의 주제 1. enum 벌써 스무 번째 시간입니다.^^ 지난 번에 연결리스트에 대해 알아보았는데요 ㅎ 어려우셨죠? 요번에는 잠시 쉬어갈 겸 간단한 녀석 하나 들고 왔습니다~ 이런 녀석도 있구나~ 알고 가시면 될 듯 합니다. 자 그럼 상쾌한 기분으로 출발 해 볼까요? 고고씽~~~~~~~~~~~~ # enum 지난 번에 전처리자를 이야기 하면서 enum에 대하여 스치듯이 이야기 해 드린 것 같은데요 그때 소개해 드리지 못해 이번에 소개해 드리려 합니다. enum은 상수 세트를 선언 해 줄 수 있습니다. 주로 어떤 상수 Flag를 지정해 줄 때 사용하게 되는데요, 그게 무슨 뜻이냐 하면 내가 프로그램 안에서의 약속을 상태1 == 0 상태2 == 1 상태3 == 2 으로 표현 간단히 해 주고 싶을 때 사용하.. 더보기
C <18>. 연결리스트 (Linked list) - 자료구조(1) 오늘의 주제 1. 연결 리스트 (Linked list) 열 여덟 번째 시간입니다.^^ 지난 번에 동적 할당에 대하여 알아보았습니다~ 오늘은 동적 할당과 구조체를 알고 계셔야 이해할 수 있습니다.ㅎ 2012/05/16 - [C] - C . 구조체 2012/05/18 - [C] - C . 동적할당 자. 오늘 내용은 난이도가 쪼깨 있습니다~ 처음 보시는 분들은 다섯 번은 봐야 이해가 될랑 말랑 하실거예요..ㅎㅎ 물론 C의 문법은 아닙니다만(사실 C의 중요한 문법은 거의 끝났다고 봐야겠죠?), 자료구조 공부하심에 있어서 도움이 되실거예요~ 정말 중요한 것이니 몇 번을 보고, 다른 싸이트를 검색하고, 직접 계속 둘러보면서 꼭 몸으로 익히도록 하세요~! 자 험난한 여정을 함께 즐겨 볼까요?ㅎ 스따뚜~~~~~~~~~.. 더보기
C <17>. 동적할당 오늘의 주제 1. 동적할당 malloc 열 일곱 번째 시간입니다.^^ 지난 번에는 구조체에 대하여 알아보았습니다. 구조체라는 녀석도 꽤나 매력적인 녀석입니다. 예를 들어 한 사람의 정보를 구조체 하나에 담을 수도 있구요(이름, 나이, 성별, 직업 등등)... 복합적인 자료를 관리하기 참 편리할 것 같죠?ㅎ 그리고 저번에 배웠던 배력적인 배열에 대해서도 잠깐 생각해 보도록 해요. 2012/05/11 - [C] - C . 배열 ㅂㅐ열에서 우리는 하나의 의문을 가지고 끝을 맺었었죠. 배열의 크기는 조절 할 수 없는가 였는데요. 네, 조절할 수 없으므로, 필요에 따라서 우리가 원하는 크기만큼 할당하는 것이 좋겠죠? 그런데 우리가 개발을 하면서 이 배열은 딱 이 사이즈면 돼. 라고 말할 수 있는 경우는 많지 않습.. 더보기
C <16>. 구조체 오늘의 주제 1. 구조체 열 여섯 번째 시간입니다.^^ 지난 번에는 전처리자에 대해 알아보았습니다. 잘만 사용하면 좋지만, 잘못 사용한다면 독이 될 수 있는 녀석입니다. 사용에 유의하세요^^ 오늘은 또 하나의 개념 구조체에 대해 알아보도록 하겠습니다. 자 그럼 이제 시작해 볼까요?^^ 스따뚜~~~~~~~~~~~~ 그 전에 추천 한 방 부탁~~~~~~~해요~~~~~~ 저에게 큰 힘이 됩니다. ^~^ # 구조체의 개념 간단 합니다. 이 녀석은 배열과는 다르게 서로 다른 종류의 자료들이 들어갈 수 있습니다. 큰~~~~~~~ 박스 안에 서로 다른 크기의 작은 박스들이 들어가 있는 형태라고 보시면 되겠습니다. 그래서 우리가 큰 박스를 만들고 그 안에 작은 박스들을 만들어 넣습니다. 선언하는 방법은 struct 구.. 더보기
C <15>. 전처리자 오늘의 주제 1. #define 2. #ifdef 열 다섯번째 시간입니다.^^ 지난 번에는 배열에 대해 알아보았는데, 흥미로우셨나요? 배열은 두고두고 계속 사용하게 되니까 잘 알아두셔야 합니다~ 게다가 배열과 포인터는 뗄 수 없는 관계이므로 꼭 기억해 두세요 ㅎ 이번엔 전처리자에 대해 알아봅니다. 스따뚜~~~~~~~~~~~~ 그 전에 추천 한 방 어떠세요?ㅎ # 전처리자 전처리자는 전처리 명령을 수행하는 녀석입니다. 전처리 명령은 '#'으로 시작하게 됩니다. 우리가 흔히 볼 수 있는 전처리 명령에는 #include가 있겠죠? 이 전처리 명령은 컴파일이 시작되기 전에 처리가 되게 됩니다. 그래서 이름이 전처리 명령이죠..^^ 이 전처리 명령을 수행하는 전처리기는 C언어의 문법을 알지 못합니다. 어쨋든 이 .. 더보기
C <14>. 배열 오늘의 주제 1. 배열 열 네번째 시간입니다.^^ 지난 번에는 변수의 범위에 대하여 알아보았습니다. 감이 조금 오실지는 잘 모르겠습니다^^; 혹여나 부족한 부분이 있다면 말씀해 주세요 ㅎ 이번에는 또 하나 중요한 개념인 배열에 대하여 알아보도록 하겠습니다. 출발!!!! 자, 시작전에 추천 한 방 어떠세요?ㅎ # 배열이란? 자, 배열이란 무엇일까요? 配列 나눌 배, 벌일 열. 사전에는 "동일한 성격의 데이터를 관리하기 쉽도록 하나로 묶는 일." 이라고 정의되어 있네요 ㅎ 자, 쉽게 한 번 알아봅시다. 위에는 제가 발로그린 배열의 개념도 입니다. 위의 정의에서 보듯이 배열은 같은 종류의 데이터를 줄세워 놓은 녀석을 말합니다. 그림에서 보듯이 배열은 같은 크기의 상자들이 쭈욱 붙어서 늘어서 있습니다. 배열의 .. 더보기
C <13>. 변수의 범위 오늘의 주제 1. 변수의 범위 열 세번째 시간입니다.^^ 지난 번에는 함수에 대해 알아보았어요~ 함수... 중요합니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 내가 안중요하다고 하는거 있었나..ㅋㅋㅋㅋㅋㅋㅋ 그말인 즉슨 알짜배기 열심히 적고있다는 얘기겠지요?ㅋㅋ 자 그럼 서론 생략하고 변수의 범위에 대해 알아봅시다~ 스따뚜~~~~~~~~~~~~ # 변수의 범위 그전에 변수란...? 이미 예전에 포스팅 했지요?ㅎㅎ 잘 기억이 안나신다면...ㅋㅋ 보고옵시다~ 2011/12/02 - [C] - C . 변수. Variable 자. 변수에도 범위가 있나요?? 오홍 그럼요~ 어디서든지 쓸 수 있는녀석, 어떤 곳에서만 쓸 수 있는 녀석 등등 변수가 미치는 범위는 다양하답니다~ 변수 뿐만 아니라 함수도 마찬가지예요~^^ 그럼 자세히 알아.. 더보기
C <12>. 함수 오늘의 주제 1. 함수의 개념 2. 함수 만들고 사용하기 열 두번째 시간입니다.^^ 지난 번에는 포인터라는 녀석에 대해 알아보았습니다. 사실 포인터라는 녀석과 함수는 절친사이랍니다~ 모양이나 역할이 비슷한것이 아니라, 함수 때문에 포인터가 유용하다고나 할까요?ㅎㅎ 뭐 여튼 포인터든 함수든 중요합니다~ 자 거두절미하고 시작합니다~ 고고씽~~~~~~~~~~~~ # 함수? 함수란 무엇일까요? 함수에 대해 간략하게 이야기 해보자면, 함수라는 녀석들은 무엇인가를 수행하는 역할을 합니다. 쉽게 설명을 해서 전자레인지는 우리가 차가운 음식을 집어넣고 버튼을 누르면 데워서 뜨거운 음식으로 만들어 줍니다. 즉, 찬음식을 데워서 뜨거운 음식을 만드는 일련의 과정을 수행하는 역할을 하지요. 함수도 우리가 메소드에게 일할거리.. 더보기
C <11>. 포인터 (2)간단실습 오늘의 주제 1. 포인터 실습 열 한번째 시간입니다.^^ 지난 번에는 포인터의 개념에 대해 간략히 살펴봤어요~ 포인터라는 녀석을 알아도 헷갈릴때도 있고, 이해가 안될 수도 있지만, 꼭 잘 이해하고 계셔야 해요 ㅎㅎ 만날 똑같은 소리지만... 잘 이해하고 계셔야 나중에 좋습니다. 기초가 중요하니까요^^ 자 그럼 오늘은 간단히 코드로 실습해 보도록 합니다~ 스따뚜~~~~~~~~~~~~ # 포인터 실습 자, 지난번에 빼뜨렸고, 요번에도 빠뜨린 내용이 있는데 포인터는 선언해 줄때 그녀석이 어떠한 형식의 변수의 주소를 가지게 될지 앞에 표현해 주는 것입니다. int *ptrSomebody = &somebody; 이런식으로 표현이 되어있으면 somebody는 int형 변수이여야 한다는 뜻이지요. 물론 void 포인.. 더보기
C <10>. 포인터 (1)개념잡기 오늘의 주제 1. 포인터의 개념 열 번째 시간입니다.^^ 지난 번에는 반복문에 대하여 알아보았습니다. 정말 기초적인 문법들이라 꼭 알아두셔야 합니다~^^ 앞으로 계속 쓰일거니깐요 ㅎ 자 그럼 오늘은 또 중요한 개념 포인터에 대해서 알아볼까요?ㅎ 출바알~~~~~~~~~~~~ # 포인터란? 포인터란 무엇일까요? 우리말로 하면 가리키는놈?ㅋㅋ 뭐 이런뜻이겠죠? 네 여기서도 똑같은 뜻입니다. 무언가를 가리키는 녀석을 포인터라고 부릅니다. 자, 포인터를 설명하기 전에 잠시 변수에 대해서 다시 생각해 봅니다. 우리가 int a = 15; 이렇게 선언을 해주면 컴퓨터는 메모리의 적당한 공간에 15라는 값을 저장하게 됩니다. 그것을 저는 이렇게 표현해 보겠습니다. 요로코롬 메모리 공간이 있다고 생각해 봅니다. 저기 메.. 더보기
C <9>. 반복문(2) do-while 오늘의 주제 1. do-while 반복문 2. 단항연산자와 괄호 아홉번째 시간입니다.^^ 이제까지 반복문과 조건문에 대해 조금 알아보았는데요, 오늘은 반복문 중에 do-while이라는 녀석에 대해서 잠시 알아보도록 할게요~ 더불어서 쪼끔 골치아픈 녀석도 함께 알아봅니다~ 스따뚜~~~~~~~~~~~~ # do-while 일단 뭐 항상 그렇듯이 코드를 한 번 입력해 봅니다^^ 코드 설명은 아래에서~ 일단 실행시키지 마세요!! do-while 반복문은 do { 일단 실행할 조건 } while ( 다음번 실행 조건 ); 이렇게 작성합니다. 일단 먼저 실행 하라(do) 어떠한 조건이 나올 때까지(while) 이거 겠죠?ㅎㅎ 즉, 중괄호 {} 안에 있는 내용은 일단 do-while 반복문이 시작됨과 동시에 실행이 .. 더보기
Objective C <5>. 클래스와 객체(인스턴스)<1> 오늘의 주제 1. Class? Object? 다섯 번째 시간입니다.^^ 이제까지는 정말 Objective C를 배웠다고 하지도 못할 정도로 아주 기초적인 내용을 다루어 보았습니다. 지난 번에는 실수 표현방법에 대해 알아보았습니다. 조금 도움이 되셨는지요?? 나중에 언젠가는 꼭 필요한 날이 올테니 알아두시길~!^^ 지금부터 몇 번에 걸쳐 포스팅할 내용들(클래스, 메소드, 인스턴스 등등)의 내용만 이해를 하신다면, "나 Objective C 70%는 이해했어" 라고 말하실 수 있을거예요. 정말 중요한 것이니 몇 번을 보고, 다른 싸이트를 검색하고, 직접 계속 생각하며 익히도록 하세요~! iOS Dev 포스팅의 클래스와 객체 챕터를 인용하여 조금 더 설명을 추가하여 보았습니다. 힘겨운 발걸음을 한 번 떼어 볼.. 더보기
C <8>. 조건문(3) 3항 연산자 오늘의 주제 1. 3항 연산자 여덟 번째 시간입니다.^^ 오랜만에 뵙겠습니다! 블로그를 잠시 쓰지 못했습니다..ㅠㅠ 계속해서 조건문에 대해 알아보고 있는데, 잘 보고 계신지 모르겠습니다...^^ 이번이 조건문에 마지막 내용입니다~ 자 그럼 긴말 없이 시작~~~~~~~~ # 3항? 연산자? 말 그대로 항이 3개인 연산자 입니다. ( 조건 ? 참일 때의 값 : 거짓일 때의 값 ) 이런식으로 쓰게 됩니다. 감 안오시죠?ㅋㅋㅋ 당연합니다~ 간단히 예를 들겠습니다. max = ( 1>2 ? 1 : 2) ; 한국말로 차근차근 풀어서 말씀드리겠습니다. '1이 2보다 큰가? 이것이 참이라면 1을 max에 넣고, 이것이 거짓이라면 2를 max에 넣어라' 입니다. 또 하나더... printf( "%d" , ( a>b ? .. 더보기
C <7>. 조건문(2) switch 오늘의 주제 1. switch문 사용해 보기 일곱 번째 시간입니다.^^ 지난 번에는 if 조건문에 대해 알아보았습니다. 이번에는 또다른 조건문인 switch문에 대해 알아보도록 할게요 ㅎ 스따뚜~~~~~~~~~~~~ # switch 자, 일단 만들어 봅시다. 지난번 if문 할 때 만들어 놓았던 프로젝트를 열어 봅시다. 이번에는 switchNumbers() 라는 함수를 만들거예요. 빨간네모를 따라 코드를 작성해 봅시다.ㅎㅎ 위의 코드의 실행 결과 화면입니다. switch문의 작성법은 이렇습니다. switch(대상 변수) { case 정수 혹은 문자 : 실행할 명령문 break; case 정수 혹은 문자 : 실행할 명령문 break; case 정수 혹은 문자 : 실행할 명령문 break; default : .. 더보기
C <6>. 조건문(1), if, else 오늘의 주제 1. if문 사용해 보기 여섯 번째 시간입니다.^^ 지난 번에는 반복문과 단항연산자에 대해 알아보았습니다. 연습은 잘 하고 계신지요? 정말 중요한 것이니 몇 번을 보고, 다른 싸이트를 검색하고, 직접 계속 둘러보면서 꼭 몸으로 익히도록 하세요~! 자 그럼 오늘은 조건문 중에서도 if문에 대해 알아보도록 할게요^^ 스따뚜~~~~~~~~~~~~ # if, else 조건문에 해당하는 녀석들은 몇몇 있습니다만, 오늘은 if와 else를 사용하는 if문에 대해 조금 알아보도록 할게요 ㅎㅎ 자 프로젝트 하나 만들어 주시고~ 이쁘게 코드를 작성해 봅시다 ㅎㅎㅎ 실행 결과입니다. 동작에 대해서는 대충 눈치 채셨지요?ㅎㅎㅎ 너무나 쉽습니다~ 그런데 처음 보는 녀석이 있죠~ main함수 밖에 나가있는 녀석들이.. 더보기
C <5>. 반복문(1), 단항 연산자 오늘의 주제 1. for문 2. while문 2. 단항 연산자 다섯 번째 시간입니다.^^ 지난 번에는 실수 표현방법을 알아보았습니다. 깨알같지만 은근 자주 쓰이고 중요한 녀석일겁니다 ㅎㅎㅎ 자 그럼 잔소리는 이제 생략하고 오늘은 반복문을 살짝 보도록 하겠습니다^^ 일단 반복문의 종류는 for, while, do while등등 몇가지가 있는데 오늘은 for문과 while문 두 가지를 해 볼게요 ㅎㅎ 반복문은 세 번에 걸쳐서 포스팅 할 예정입니다. 물론 연달아 하지는 않습니다^^ 조건문도 두 번에 할거예요 ㅎㅎㅎ 스따뚜~~~~~~~~~~~~ # 반복문이란? 반복문은 말 그대로 반복문입니다. 어느 조건이 충족이 된다면 계속 계속 끝까지 돕니다 ㅋㅋㅋ 심지어 어느 조건이 계속 충족되지 않는다면 멈추지 않습니다... 더보기
C <4>. 실수 표현 방법 오늘의 주제 1. 실수 표현 방법 네 번째 시간입니다. 이번에는 사실 그다지 중요하지 않은 포스팅입니다. 그냥 해보는 깨알같은 팁!?ㅋㅋㅋ 서론 필요 없고 실습 시작입니다~! # 실수 표현 방법 일단 새로운 프로젝트를 만들고 아래와 같은 코드를 입력하여 봅니다. 결과 출력 화면입니다. 간단하게 코드를 설명하자면... 일단 printf안에 %%라고 표현 한것은 로그에 %가 찍히게 하기 위함입니다... 뭐~ 그냥 그렇다구요 ㅎㅎ %lf는 double형 실수를 표현하기 위한 출력 형식 지정자라는 것은 알고 계시죠?ㅎㅎ 그냥 %lf하면 컴파일러나 프로세서마다 다르겠지만 3532.0483940000... 이런식으로 대책없이 나오는 것이 보통입니다. 그래서 좀 더 깔끔하게 출력을 하고 싶으신 분들이 있으실 겁니다... 더보기
Objective C <3>. 변수. Variable 오늘의 주제 1. 변수 알아보기 세 번째 시간입니다. 안녕하세요! 야곰입니다.ㅎㅎ 벌써 세 번째 시간이네요 ㅎㅎㅎ Objective-C는 C를 기반으로 하며 이런저런것들이 추가되고 빠지고 한 것이기 때문에 C에서 기초되어 쓰이는 것들이 많습니다. 그래서 오늘은 C에서 나오는 변수들에 대해 조금 알아보겠습니다. C가 그냥 커피라면 Objective-C는 T.O.P라 이거죠 ㅋㅋㅋㅋㅋㅋㅋ 긴말 필요없고 본론으로 들어가죠 ㅋㅋㅋ # 변수가 뭐냐? 변수라는 것은 자료를 담아 둘 수 있는 기억공간이라고 생각하시면 됩니다. 컴퓨터는 무슨 일을 처리하기 전에 주기억장치, 즉, RAM에 정보를 올려놓고 맞춰진 스케줄 대로 CPU에서 연산처리 하게 됩니다.(물론 상세히는 좀 더 복잡하고 다를 수 있지만 대충 그렇다고 생.. 더보기
C <3>. 변수. Variable 오늘의 주제 1. 변수 알아보기 세 번째 시간입니다. 안녕하세요! 야곰입니다.ㅎㅎ 벌써 세 번째 시간이네요 ㅎㅎㅎ 이번에는 C언어에서 가장 기초가 될 변수에 대해 알아보도록 하겠습니다~! 긴말 필요없고 본론으로 들어가죠 ㅋㅋㅋ # 변수가 뭐냐? 변수라는 것은 자료를 담아 둘 수 있는 기억공간이라고 생각하시면 됩니다. 컴퓨터는 무슨 일을 처리하기 전에 주기억장치, 즉, RAM에 정보를 올려놓고 맞춰진 스케줄 대로 CPU에서 연산처리 하게 됩니다.(물론 상세히는 좀 더 복잡하고 다를 수 있지만 대충 그렇다고 생각해 두세요 ㅎ) CPU는 기억력이 없고 계산만 하다보니 처리해야 할 정보들을 기억해줄 녀석이 필요한데, RAM이 그 역할을 하는것입니다. 그리고 프로그래머가 RAM에 정보를 기억할 공간을 할당해 준 .. 더보기