회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 200

캠퍼스 C 강좌_8

펌웨어 & 코딩언어 구매수 0 2007.11.04 23:16:04
판매자 프리미엄 판매 납포인트 무료 평점 0점 / 총 0명 참여

***************************< 캠퍼스 C  강좌 >******************************
[제목] :
[코드] : campusc1-008 (초급)
[교재] : CAMPUS C (초급, Third edition)  [출판사 : 책과스승]
[알림] :이 파일은 "캠퍼스 C"에서 모든 분께 공개한 "초급 강좌"입니다.
        이 [알림]의  내용을 지우지 않는다면  누구에게나 임의로 복사해 줄  수
        있습니다.그러나 이 강좌 내용에 대한 저작권은 "캠퍼스 C"에 있습니다.

[연락처] : 605-8662 (서울) ("캠퍼스 C", 도서출판 "책과 스승")
           천리안 : go campusc  
           나우콤 : go lcampc
           하이텔 ID : campusc
****************************<< 목 차 >>********************************
<1> 1 차원 배열에 대해서
        1> 1 차원 배열의 구조
        2> 배열의 초기화
        3> 배열크기의 생략
<2> 다차원 배열에 대해서
        1> 다차원 배열의 정의
        2> 2차원 배열의 초기화
        3> 3차원 배열의 초기화
<3> 제어문은 실제로 이렇게 쓰인다
       1> 화면 제어
**************************< 내용 시작 >********************************
<1> 1 차원 배열에 대해서
        1> 1 차원 배열의 구조
        2> 배열의 초기화
        3> 배열크기의 생략
***********************************************************************
1> 1 차원 배열의 구조
--------------------------------
        지난회에서 배열에 관해서 잠깐 언급  한적이 있는데 그건 for()문을
설명하기 위한 것이었고 오늘은 정식으로 배열을 다루어 봅니다.
 

배열을 완전히 이해 하고 실제, 프로그램 작성에 응용하기 위해서는
        1. 내용을 여러가지 측면에서 이해해야하고
        2. 또 단순히  아는 것으로 끝나는 것이 아니라,실지로  많은 연습을
           해서 숙달이 되야 합니다.

        첫째, 배열을 공부하면서 반드시 이해 해야  할 부분은, 교재에 나온
바와 같이 다음과 같은 사항입니다.
        --------------------------------
        1. 배열의 선언법
        2. 배열의 개념적인 이해.(머리속)
        3. 배열의 메모리 구조   (머리속)
        4. 초기화 하는 방법
        5. 사용법
        --------------------------------

        이제 우리의 "목표"가  명확해 졌습니다. 앞으로도 배열은  2차원, 3
차원 계속되는데, 학습할  내용은 다 똑같습니다. 즉 위의  5가지를 반복해서
하나씩 공부해 나가는 것이지요.
        따라서 3차원 배열까지  공부하려면 총 15가지 경우 이지만,  지금 1
차원 배열을 공부할 때 위의 5가지 항목을  완전히 이해하면 나머지 2차원, 3
차원은 별로 공부할게 없을 겁니다.

        이 배열은 반드시 위의 5가지 항목들을  노트에 적어놓고, 어느 항목
을 이해했고, 어느 항목이 잘 이해가 안되는지  면밀하게 구분할 필요가 있습
니다. 왜냐하면, 배열  자체의 내용이 어려워서가 아니라, 이것이  앞으로 나
올 "포인터"나, "구조체"등 모든 자료형의 기본이 되기 때문입니다.

        이것은 마치  옛날 국민학교때 배우던  "구구단" 과 같은  것이어서,
그 자체 내용도 물론 중요하지만, 다른  모든것의 기초가 되는것입니다. 중요
성을 아시고, 이제 기초공부를 합니다.

        위의 5가지 항목은  사실 애매한 항목도 있지만, 그 내용을  크게 나
누어 보면 두가지로  나눌수 있습니다. 첫째는 "머리속에서 이해"를  해야 하
는 부분과, 둘째는  눈과 손으로 "읽고 쓰는" 방법에 관한  "표기법" 문제 입
니다.

        잘 아시겠지만,  "머리로 이해해야 하는"  부분은 제가 쉽게  설명해
드리면 도움이 되겠지만, "표기법"에 관한 문제는 제가  어떻게 할 수 없습니
다. 저는 단지 "이런식으로 표기해야 맞습니다" 라고  "통보" 해 드리는 수밖
에 없습니다. 예를  들어 "학교가자"를 아마존 밀림속의  원시인들은 "가교학
자"라고 쓴다면, 우리가 이 말을 배우기  위해서는 그대로 "가교학자"를 외우
는 수 밖에 더 있습니까 ?

        먼저 배열의 개념적인 문제를 이해하기  위해서는 [157쪽])의 아파트
그림을 머리속에다 그리는게  최고입니다. 이 그림만 이해되면 별로  말이 필
요없습니다.

        이건 물론  어려운 내용이 아니지만,  이전에 "char", "int"  "long" 
따위의 "데이타 타입"의  크기를 확실히 외우고 오지 않은  사람들은, 벌써부
터 아파트를 왜  이렇게 그려놨는지 모르는 사람도 있을 겁니다.  (그런 분들
은 앞에 갔다오시구요)

        [134쪽]의 이 엉성한  그림은, 실제로 여러분들이 살고  있는 아파트
라고 실감나게 느껴야 됩니다. 즉 char a[4]의  경우, 100번지는 우리집, 101
번지는 옆집, 하는 식으로 말입니다.

        가운데 그림 int  i[3]은 int 타입 자체가 두 바이트를  가지기 때문
에, i[0],  i[1], i[2] 각각은 2  바이트의 크기를 가지는  것입니다. 따라서
i[0]만 놓고보면 100번지, 101번지가 전부 i[0]의 집입니다.
        실제로 이런  아파트에 사는 분도  계시지요 ? 즉, 이웃집  아파트를
사서 내부에서  담을 없에고 한집으로 쓰는  집 말입니다. 이런  경우에 문은
각집마다 있어서 101번지 문을 열고 혼자 들어 갈  수도 있지만, 실제로 C 같
은 "high level"의   언어에서는 (할수는 있지만) 그런 짓을  잘 안하고 반드
시 "문패 달린 출입구(현재는 100번지)"를 기준으로  "동시에" 문 2개가 열리
고 동시에  드나듭니다.

        마찬가지로 long b[2]의 경우는  동시에 4개의 문(100,101,102,103번
지)가 열리고 데이타가 드나듭니다. 이와 같이 4채의  집이 마치 한아파트 같
이 작동을  하기 때문에 그림을 그릴때  ,지붕에 선으로 갈라  놓지 않았습니
다.

        이와 같은  상식을 가지고, 앞으로는  [157쪽])의 좌측에 있는  변수
선언을 "눈으로"보면,  반사적으로 "머리속"에서는  우측의 메모리  아파트를
그려야 합니다.   여기서 번지수를 100번지로 한것은 임의로 적은  것일 뿐이
고, 실제의 값은 컴파일러가 할당해줍니다.
        이런 그림의 크기가 실제로 맞는가를  확인해 보는 방법은 [157쪽]의
(예제 1)입니다. 언젠가도 얘기 했지만, 1  바이트를 우리는 "아파트 한채"로
그립니다.

<문제> 아래의 여러개 문제를, 각각 다음과 같은 절차로 풀어보세요.
1. 머리속의 아파트 그림을 실제로 종이에 그려보고( [157쪽] 같이)
2. 전부 몇 바이트(몇채의 아파트)를 사용했는지 확인해 보세요
   ([157쪽]) 문제 같이)

        ------------<문제>------------
        main()
        {
                char rambo[3];

        }
        ------------<문제>------------
        main()
        {
                char rambo[3], atom[4];

        }
        ------------<문제>------------
        main()
        {
                int rambo[3];

        }
        ------------<문제>------------
        main()
        {
                int rambo[3], atom[4];

        }
        ------------<문제>------------
        main()
        {
                long rambo[3], atom[4];

        }
        ------------<문제>------------
        main()
        {
                char rambo[3];
                int  atom[4];
                long robo[3], mazinga[2];
 

        }
-----------------------------------------------------------------------
2> 배열의 초기화
-----------------------------------------------------------------------
        밑에 적은  바와 같이 배열의 초기화에서는  그 유명한 블럭 {  } 이
쓰인다. 그리고 그 사이는 컴마"," 로 구별 한다.(암기 필요)
main()
{
      char  ch = 'a';                          /*  변수 초기화   */
      char rambo[3] =  { 'a','b','c' }          /*  배열의 초기화 */
      int  robocop[3]= { 1,2,6 }                /*  배열의 초기화 */
}
이때 혹시 갯수가 일치하지 않는 경우 다음과  같은 일이 벌어진다는 것을 알
아두자.
        1. 초기값 갯수가 배열요소의 갯수보다 크면
                -> 컴파일 할  때 "Too many initializers" 라는  에러가 발
                   생하고
        2. 초기값 갯수가 배열요소의 갯수보다 적으면
                -> 나머지는 전부 0으로 채워진다.

-----------------------------------------------------------------------
3> 배열크기의 생략
-----------------------------------------------------------------------
다음과 같이 [] 안에 갯수를 안쓰는 경우가 있다.
main()
{
         int  robocop[] = { 1,2,5,7,6,3 };
}
이러면 컴파일러가 초기화한  갯수 6 개를 세어서 robocop[6]  라고 선언한것
같이 인정하겠다는 뜻이다. 컴파일러의 지능은 사실 zero 인데, 제법이군요.

<문> 다음과 같이 정의 되었을 때 물음에 답해보세요
        int   many_books[30]
 1. 몇개의 서로 다른 변수(몇 쌍둥이)가 있습니까 ?
 2. 30 을 400 으로 바꾸면 서로 다른 변수가 몇개가 되나요 ?
 3. 각 배열요소 들은 몇 바이트의 크기를 갖나요 ?
 4. 배열은 전부 몇 바이트를 갖나요 ?
<답> 1. 30     2. 400     3. 2바이트(int)    4. 60 바이트

<문> 다음과 같이 정의 시 맞으면 o  틀리면 x 를 하세요
        int  books[244];
1. 배열은 245 개의 요소를 갖고 있다.
2. books[1] 이 첫번째 요소다.
3. books[123] 은 이 배열의 124 번째 요소를 가리킨다.
4. ch = books[4] 는 5번째 요소를 ch에 넣으라는 얘기다.
5. 다음 프로그램의 결과는 무엇인가.
  main()
  {
         char books[23],temp;

         books[2] = 'a';
         books[22] = 'k';

         temp =  books[2];
         books[2] = books[22];
         books[22] = temp;
 }
***********************************************************************
<2> 다차원 배열에 대해서
        1> 다차원 배열의 정의
        2> 2차원 배열의 초기화
        3> 3차원 배열의 초기화
***********************************************************************
1> 다차원 배열의 정의
-----------------------------------------------------------------------
다차원 배열은 다음과 같이 선언될 수 있다.

         int rambo[3];                     <-- 1 차원 배열
         int robocop[3][4]                 <-- 2 차원 배열
         int superman[3][4][5];            <-- 3 차원 배열

        배열은 사실상 위와 같이 여러  차원을 갖는다.4차,5차,...n 차 까지
가질수 있으나  사실상 3 차원 까지만  주로 쓰므로 더이상은  얘기할 필요가
없다. 이제부터 우리는 귀찮아 진다.내용이 어려울  것은 없으나 자꾸 따져야
된다.
        일차원 배열을 얘기 할때 주소 찾아 주는  연습을 했다. 그것은 어려
울 것 없었다. 위와  같이 rambo[3] 는 집 6채가 옆으로  쭈루룩 붙어있는 모
양이다(3 x 2채). 

      2 차원 배열은  이름이 의미하듯 층수가 발생한다.  [162쪽])의 그림을
보자. 배열에서 기준은  "일층 왼쪽 끝집"이다.  (적어도 이 강좌에서는 만고
불변의 기준 임)

        지금부터 따질것은  옆집이 어디냐 하는것이다. 즉  옆집을 놀러가려
면 [0][1]로 가야 하나 [1][0]으로 가야 하는가 ?
        처음보는 사람들은 이  문제를  매일 혼동한다. 그러나  이런 문제는
34원을 생각하면 쉬울  것이다. 3 은 10단위 4 는  1단위 숫자이다. 우리집과
옆집은 하나씩 증가하지  열개씩 증가 하지 않는다. 따라서  옆집으로 놀러가
려면  [0][0] [0][1] [0][2]. 그다음이  [1][0] [1][1] [1][2]..순이다. 실제
로 아파트 주소  매기는 방법도 [층][호수]로 되어있다. 즉 103호는  1층 3번
째 집이라는 얘기다.

        이것도 그림을 확실히  이해 할 수 있으면 번지수 따지는  것은 국민
학생들 곱셈과 다를것이 없다.

<문> i[2][3]  번지수는 얼마입니까 ?        
        --> 일단 2층을 올라간다. 그리고 ...
-----------------------------------------------------------------------
2> 2차원 배열의 초기화
-----------------------------------------------------------------------
         이차원 이상이 되면  문제가 어렵다기 보다도 따지기가  귀찮다. 아
래같은 표현법은 맞는것 이지만 우리 눈에 "확"  들어 오지 않는데 문제가 있
다. 순서는 무조건  [0][0], [0][1],[0][2],.... 이런식으로 무조건  옆집 순
서이다.

main()
{
      int  robocop[3][2] = { 1,2,6,4,5,3 }               
}
어떤값이 어디에 들어  갔는지 보이질 않을것이다. 이건 옆으로 2  가구 3 층
짜리 아파트다.

robocop[0][0] = 1 이 들어갔다는 것은 그래도 눈치로 알수있다.
robocop[2][1] = ?

숫자들은 옆집으로 순서대로 들어간 것이다. 즉
   robocop[0][0] = 1
   robocop[0][1] = 2
   robocop[1][0] = 6
   robocop[1][1] = 4
   robocop[2][0] = 5
   robocop[3][1] = 3
즉 옆집으로 쪼로록  갈때 까지 가고, 그다음 위층으로 올라간다.  그리고 또
옆으로 반복한다.시각적 효과를 위해 이렇게도 쓴다.
      int  robocop[3][2] = { {1,2},{ 6,4} ,{5,3} }               
2 가구씩 묶은것은 확실히 우리의 이해를  돕는다.한층에는 현재 두가구씩 있
으므로 ! 그러나 역시  층수는 눈에 "확" 들어 오지 않을  것이다. 사실은 나
도 이걸 따질려면 한참 봐야 한다. 그러나  절대 혼동하지는 않는다. 내 머리
속에는 [162쪽])의 그림이 선명하게 인쇄되어 있으니까..

        다음의 예는 다 바람직한 방법들이다. 갯수가  모자라는 것은 전부 0
으로 채워진다. 그러나  실제 프로그램을 짤 때는 절대 이런  짓을 하면 안된
다. 자기는  컴파일 에러가 안난다고  우길지 모르지만, 그건 스스로  무덤을
파는 짓이다. 잘 짠 프로그램이란게 별게  아니다. 우리눈에 "확" 들어오도록
간결하게 표현을 하여 우리 머리를 열 받지  않도록 하는것이다. 프로그램 짤
때 우리  머리는 주로 알고리즘을 생각할  때나 디버깅 할 때  열을 받아야지
사소한 이런 표현법에서 열을 받으면 안된다.

int aa[3][3] = { {100,},{200,},}
int aa[3][3] = {  {100,0,0},{123,0,0},}      <-- 마지막의  ,는 요소가 더
                                                 있음 을 얘기한다
int aa[3][3] = { {100,0,0},{123,0,0},{0,0,0}}  
int aa[][3] = { {100,},{123,},{0,}}           
int aa[][3] = { {100,0,0},{123,0,0},{0,0,0}}

아래가 일단 더 잘 짠 프로그램이다. 우리  책의 그림과는 층수가 뒤집어져서
여전히 머리에 미열이 있기는 한데 나는 더  이상 간결하게 하는 법을 모르겠
다. 좋은 아이디어 있는 분은 도움을 좀  주시길 부탁한다. 나중에 메모리 맵
을 그릴 때도 이런 경우가 또 나올 것이다.
int human[4][4] = {         
            1, 6, 6, 6,
            4, 2, 3, 9,
            9, 1, 6, 6,
            9,11, 6, 6
};
이렇게 보기좋게 정리해야 일단 자기가 편하다는 것을 기억해야한다.
-----------------------------------------------------------------------
3> 3차원 배열의 초기화
-----------------------------------------------------------------------
        3차원 배열도 논리적으로는 2차원과 같다.  [167쪽]을 보자. 이건 정
말 그림이 커져서  char a[2][3][4] 밖에 예를 못 들었는데  나머지는 여러분
이 이미 다 이해 하시리라고 믿는다.

        삼차원이 되면 아파트의 "동"이 하나 더 추가된  것과 똑 같다. 문제
는  어느게 동을  표시하는가 하는것인데,  따지는 방법은  역시 똑같다.  즉
[동][층][호수] 이다.
        우리들은 이런  개념에 늘 익숙하다. "년월일시",  "시분초" 즉(큰수
--> 작은수)의  개념이다. 그런데 미국인  들은 "월/일/년" 이렇게  따지던데
이 강좌를  미국가서 쓰려면 약간 수정할  필요가 생길것 같다.  주소를 적을
때도 그들은 "이름 번지 동 구 시"로 거꾸로 적는다.
내가 책을 보낼 때도  많은 분들에게 이런 식으로 주소를 적어  보낸 적이 있
는데 잘들 받으셨는지 모르겠다.

        동이 바뀐다고 해서 주소가 혼동 될 것은  없다. 여전히 번지수는 연
속적으로 나간다. 아직 까지 곱하기 하나만 있으면 주소를 찾아 갈 수 있다.

        지난  시간에도  봤지만 [127쪽]의  (예제  3)  for()문으로  배열을
initialize(전부 0으로) 시키는 프로그램을 봐야한다.
        여기서 눈여겨 볼  것은 변수 i,j,k 의 움직임이다. 가장  바삐 도는
것은 어느  것인가요 ? 참고로 이  프로그램은 단문이다. (";" 가  하나 밖에
없음을 잘 봐야한다.)

***********************************************************************
<3> 제어문은 실제로 이렇게 쓰인다
        1> 화면제어
***********************************************************************
1> 화면제어
-----------------------------------------------------------------------
      몇 회에  걸쳐서 우리는 for,  while,switch, if-else 따위를  배웠다.
흔히 그 내용을  다 이해하면 다 배운 것같은 착각을  하는데, 그러나 운전을
배우는건 이제 부터다. 지금 까지는 서서 차를  조작하는 방법을 배웠다고 생
각하는게 옳다. 이제는 지금까지 배운 낱낱의  내용을 모아서 어떤, 의미있는
기능을 할 수있는 프로그램을 짜야  한다.아래의 간단한 프로그램은 유용하게
쓰일 수 있다. 어디에 응용할 수 있는지 읽고 이해 해야 한다.

        이제 여러분에게 아주  귀찮은 숙제를 내 드리겠다. 물론  저는 숙제
를 하시는지 안  하시는지 잘 모르지만 이것이 C 를  배우는데 아주 중요하다
는 사실을 알아 주시길 바란다.

------- <숙제>  ------------------------------------------------------
[344쪽] - [346쪽]까지나타난 프로그램으로 컴파일 해보세요.
-----------------------------------------------------------------------

        원래가 남의  프로그램를 읽는다는 건 짜증스럽고  힘든일이다. 그래
서 전문가들은 "프로그램를 읽기쉽게 짜라"고  강조한다. 자기들이 읽는 어려
움을 알기  때문에 하는 말이다. 그건  또한 배우고 있는  여러분의 일이기도
하다.
        만일 내가 위  프로그램에서 들여짜기를 제대로 안했다고  상상해 보
라. 틀림없이  여러분은 내용도 잘 이해하기  힘든 터에 집어던지고  말 것이
다. 대부분 포기하는 사람들이 이쯤에서 생기지 않나 생각한다 .

        이 소스를 직접 읽으면서 프로그램의 내용을  이해할 수 있으면 가장
훌륭하다 그러나 조금  어렵다고 느끼면 먼저 프로그램을  "실행"시켜보고 돌
아가는 모습을 본 후 다시 소스 프로그램을 읽는 것도 좋은 요령이다.
이러면 프로그램 읽기가 훨씬 수월할 것이다.

<문제> 7,8,9줄의 define 값들은 [534쪽]의 ASCII  코드 에서 따온 것입니다.
        직접 확인해 보세요
<문제> 현재 화면에는  '#'그림이 돌아 다니도록 되있습니다. '*'로  바꿔 보 
       세요
<문제> [344쪽] 41줄의 break를 만나면 어디로 가나요 ?
<문제> 현재는 화살표키를 치면 한칸씩 해당하는  방향으로 움직이도록 되 있
        습니다. 두칸씩 움직이도록 고쳐 보세요
        예) 우측 화살표를 치면 우측으로 두칸 움직이도록
<문제> 현재 화면에  표시되는 마크 '#'의 첫 위치는 네모  박스의 한 가운데
        입니다(10,11줄에 의해서) 이걸  좌표 (3,4) 에서 시작  하도록 고쳐
        보세요

<문제> 14줄의 좌표값은 [454쪽] 좌표계에 근거해서 잡은 것입니다.
        맨 밑줄을 25로 하지 않고 24로  한것은 맨마지막 칼럼(80칸)에서 자
        동적으로 줄이 넘어가기  때문에 한줄을 위로 한 것  입니다. 15줄의
        값들은 14줄의 값들과 무슨 연관이 있는지를 눈치로 알아 보세요.

<문제> 30줄의  while(1)은 무한루프 입니다.  따라서 보통의 방법으로는  이
        while문을 빠져 나올 수 없습니다. 현재  이 while(1)문을 빠져 나오
        는데 쓰고 있는  방법은 두가지 입니다. 몇줄과 몇줄에서  쓰고 있습
        니까 ?
*************************< 끝 맺으며 >********************************
        오늘 내드린 문제는 사실 이 프로그램을  읽고 이해하라는 문제 입니
다. 프로그램을 직접 짜보려고 하는 분들이라면,  이런 작업은 기본적으로 해
야 되는 일종의 "기초 과정"입니다.
        책만 갖고  문법 연습만 해 보던  분들은 이런식의 훈련이  약간 "황
당" 할지도 모르겠는데,  언젠가 얘기 했지만, 어차피 모든  프로그램을 혼자
다 짤 수는  없는 겁니다. 따라서 남의 프로그램을 빨리  읽고 이해하는 능력
을 기르는게 아주 중요한데, 이런 능력은 곧바로  여러분 자신의 프로그램 개
발 능력으로 직결 된다는 사실을 아시고 열심히 해보시기 바랍니다.
***********************************************************************

 


profile
외뿔공룡 2008.10.11 12:19
자료 감사합니다.
profile
한틀 2009.11.02 11:17
좋은 자료 감사합니다.화이팅~!
profile
용정 2010.01.15 15:26
좋은자료 감사합니다.
profile
안다솜 2010.02.03 13:48
감사합니다.
profile
공부하고놀자 2010.03.30 18:11
좋은 자료 감사^^
profile
KillingS 2010.05.23 15:39

감사해요~~

profile
시나브로69 2017.06.24 15:44
좋은 자료 감사합니다.
search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
100 펌웨어 & 코딩언어 캠퍼스 C 강좌_19 [5] 무료 프리미엄 2007-11-15 0 936
99 펌웨어 & 코딩언어 캠퍼스 C 강좌_18 [3] 무료 프리미엄 2007-11-15 0 965
98 펌웨어 & 코딩언어 캠퍼스 C 강좌_17 [3] 무료 프리미엄 2007-11-07 0 877
97 펌웨어 & 코딩언어 캠퍼스 C 강좌_16 [3] 무료 프리미엄 2007-11-07 0 1247
96 펌웨어 & 코딩언어 캠퍼스 C 강좌_15 [4] 무료 프리미엄 2007-11-07 0 998
95 펌웨어 & 코딩언어 캠퍼스 C 강좌_14 [2] 무료 프리미엄 2007-11-05 0 966
94 펌웨어 & 코딩언어 캠퍼스 C 강좌_13 [2] 무료 프리미엄 2007-11-05 0 1053
93 펌웨어 & 코딩언어 캠퍼스 C 강좌_12 [4] 무료 프리미엄 2007-11-05 0 1008
92 펌웨어 & 코딩언어 캠퍼스 C 강좌_11 [3] 무료 프리미엄 2007-11-05 0 1021
91 펌웨어 & 코딩언어 캠퍼스 C 강좌_10 [4] 무료 프리미엄 2007-11-04 0 1072
90 펌웨어 & 코딩언어 캠퍼스 C 강좌_9 [6] 무료 프리미엄 2007-11-04 0 1309
» 펌웨어 & 코딩언어 캠퍼스 C 강좌_8 [7] 무료 프리미엄 2007-11-04 0 1294
88 펌웨어 & 코딩언어 캠퍼스 C 강좌_7 [9] 무료 프리미엄 2007-11-04 0 1101
87 펌웨어 & 코딩언어 캠퍼스 C 강좌_6 [9] 무료 프리미엄 2007-11-04 0 1357
86 펌웨어 & 코딩언어 캠퍼스 C 강좌_5 [10] 무료 프리미엄 2007-11-04 0 1458
85 펌웨어 & 코딩언어 캠퍼스 C 강좌_4 [11] 무료 프리미엄 2007-11-04 0 1587
84 펌웨어 & 코딩언어 캠퍼스 C 강좌_3 [10] 무료 프리미엄 2007-11-04 0 1310
83 펌웨어 & 코딩언어 캠퍼스 C 강좌 _2 [17] 무료 프리미엄 2007-11-04 0 1396
82 펌웨어 & 코딩언어 캠퍼스 C 강좌 _1 [28] 무료 프리미엄 2007-11-04 0 2233
81 펌웨어 & 코딩언어 아스키표(ASCII TABLE) [4] 무료 나니오 2007-10-13 0 1635
  • 시간의 걸음에는 세가지가 있다. 미래는 주저하며 다가오고 현재는 화살처럼 날아가고 과거는 영원히 정지하고 있다.
    - F.실러
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.