디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

장은성횽 주석 내가 달아볼게 이정도 수준으로 하면 되는거야?

넉넉한터갤로그로 이동합니다. 2010.11.17 14:42:04
조회 103 추천 0 댓글 1

#include <stdio.h>
 
#define SIZE 12 //#define 알지? 매크로 상수라고, 이거 다음에 나오는 모든 SIZE란 문자열은 전부 12로 치환돼
 
int main(void) // 모든 C프로그램은 main함수로 시작해. 그러니까 여기가 프로그램의 처음
{
 char string[SIZE] = "           ";
 /*자 char형 string라는 변수를 배열로 SIZE개(12개) 만큼
 만들어 놨어 왜 그렇냐면 나비모양은 최고 11개의 별이 필요한데,
 문자열은 맨 끝에 문자열의 끝이라는 null문자라는게 필요해서 11개 별 + null문자포함 = 12개의 배열이 필요해
 
 그럼 퀴즈, "good"라는 문자열을 넣으려면 어떻게 해야 할까?
 good는 4글자니까 good 4글자에 문자열의 끝이라고 알려주는 null문자 하나를 더해서 5개의 문자가 필요해
 그러므로 char string[5] = "good"하면 char[0] = \'g\',char[1] = \'o\',char[2] = \'o\',char[3] = \'d\',char[4] = \'\\0\' 이렇게 저장돼
 참고로 \'a\'랑 "a"는 달러. \'a\'는 a라는 문자 하나를 나타내지만 "a"는 a라는 문자열을 나타내. 즉 문자열 a는 a + null이라는거.
 뭔말이냐면 문자랑 문자열을 구분하라는 말이야.
 
    그리고 배열의 초기화를 "           "로 해놨는데, 공백 11개를 해놓은 거야. 공백하고 null문자는 다른거야 알아둬.
 초기화는 먼지 알지? 그리고 왜 공백 11개인지는 좀따 설명해 줄게.
 */
 
 char ch1 = \'*\'; //ch1이라는 변수를 만들어서 문자 \'*\' 1개를 저장해 놨어. 이것도 나중에 갈켜 줄게
 int i;//이건 for를 돌리기 위한 루프변수
 
 //자 이제 루프 돌리자. 기계과라니까 수학의 수열 할줄 알지? 고등학생 수준만 알면 돼 한번 잘 보면서 생각해봐
 //루프가 잘 이해가 안되면 그냥 수열이라고 생각해 n번쨰 항 대신 i번째 항이라 생각하면 쉬워
 for(i = -5 ; i <= 5 ; i++)
 {
  
  /*루프가 돌면서 문자열이 어떻게 저장되어 지는지 한번 연습장에 적어가면서 풀어봐봐
  일단 맨 처음 i = -5일때 맨처음 string의 내용은 공백 11개잖어? 그러면 그 공백으로 이루어진 문자열의 가운데가
  6번째 공백이지? 이거는 string라는 배열의 5번째 항이야(0부터 시작하니까)
  그리고 첫 번째 라인은 맨 처음이랑 끝에 별 하나씩 찍는거지? 그러면 5 +(-5) = 0 번째 문자랑 5 -(-5) = 10 번쨰 항의
  문자가 별(ch1이라는 변수에 저장되어 있는거)이면 되는거야 이해돼? 그러니까
  string의 구성이
  0    1    2    3    4    5    6    7    8    9    10
  공백 공백 공백 공백 공백 공백 공백 공백 공백 공백 공백 이렇게 되어 있던게
  별   공백 공백 공백 공백 공백 공백 공백 공백 공백 별   이렇게 되겠지
  그런 다음 출력하면 첫 번째 라인 찍히고 한번 더 루프를 돌면
  0    1    2    3    4    5    6    7    8    9    10
  별   공백 공백 공백 공백 공백 공백 공백 공백 공백 별   이렇게 되어 있던게
  별   별   공백 공백 공백 공백 공백 공백 공백 별   별   이렇게 되겠지 이해되지?
  */
  string[5+i] = ch1;
  string[5-i] = ch1;
  
  printf("%s\\n",string);
  
  /* 자 그럼 이건 뭐냐
  -5에서 0까지 돌면서 string를 모두 별로 채우게 되 왜냐하면 5번 루프 돌면 모든 배열이 별로 채워 지니까
  0    1    2    3    4    5    6    7    8    9    10
  별   별   별   별   별   별   별   별   별   별   별 이렇게 된다고
  그러면 나비 반쪽은 그려지는데 나머지는 이제 어떻게 처리 해야 할까? 앞으로 계속 출력하면 계속 별만 나올거잖어
  간단해 그냥 안쪽에서부터 쭉 공백으로 채워 주면 되는거지.
  그러니까
  0    1    2    3    4    5    6    7    8    9    10
  별   별   별   별   별   공백 별   별   별   별   별 이렇게 해주는 식으로
  그러면 이제까지는 -5~0이였으니까 이제부터는 1~5겠지 5 + 1번쨰 요소에 공백 채우고 5 - 1번째 요소에 공백 채우고 이렇게
  그러면 별을 채울때 \'*\'이라는 문자 대신 ch라는 변수에 \'*\'을 넣어서 ch를 배열에 넣어 줬잖아? 이렇게 한 이유가
  이제는 ch를 공백으로 넣어서 배열에 별 대신 공백을 넣으라고 해주려고 그랬어
  그렇게 해주고 한줄 찍고 하면 되겠지. 이해가 잘 안갈 수도 있겠다. 그런데 한번 루프 하나 당 한번씩 연습장에 그려가면서 해봐
  
  근데 문제가 있어. 공백을 채우는건 좋은데
  맨 가운데 줄을 찍고 나서 다음 줄(i = 1일 때)을 찍으려 하는데
  0    1    2    3    4    5    6    7    8    9    10
  별   별   별   별   별   공백 별   별   별   별   별 이렇게 해주는 식으로 해 줘야 하는디
  0    1    2    3    4    5    6    7    8    9    10
  별   별   별   별   공백 공백 공백 별   별   별   별 이렇게 되어 버리겠지 알겠어?
  그러니까 그냥 억지로 i = 0일 때 맨 가운데 공백 하나 넣고 한줄 찍고 i = 1부터는 그냥 보통처럼 찍게 해놓놨어
  이렇게 안해도 되는게 생각하기 귀찮아서 그냥 이래 놨음
 
  알간? 리포트 잘해서 A+ 받길 바래
  */
  if(i == 0)
  {
   ch1 = \' \';
   string[5] = ch1;
   printf("%s\\n",string);
  }
  
 }
 return 0;
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
232436 C++ 질문점 [6] SODmaster갤로그로 이동합니다. 11.01.26 110 0
232435 간단 c언어 질문 [4] ddd(61.75) 11.01.26 92 0
232433 꽈당녀.swf [3] b6Np2en0KCsM(119.71) 11.01.26 122 0
232431 방금까지 어떤년이 질문글 올린거 답변해주려고 코드올리려는데 [1] SKOTLEX갤로그로 이동합니다. 11.01.26 99 0
232430 네이버 카페 자동글등록기 이런거 진짜인가요;; [3] 현꿈이(119.130) 11.01.26 296 0
232429 죽기 일보직전이라능 [3] DMW(143.248) 11.01.26 105 0
232428 시발 내가 독해력이 떨어지는건가?? [1] 시불라미갤로그로 이동합니다. 11.01.26 139 0
232426 급 궁금한건데... [3] 에필로스갤로그로 이동합니다. 11.01.26 67 0
232424 뇌자알 다일거따.. [2] 뇌자알갤로그로 이동합니다. 11.01.26 99 0
232423 안드로이드 어플 개발...이클립스 오류? [4] 러블리혜(211.189) 11.01.26 1542 0
232422 vs2008 자동완성좀 물어보자꾸나 [6] dw23x(119.207) 11.01.26 126 0
232421 페이퍼님 안녕 [1] Mayu갤로그로 이동합니다. 11.01.26 49 0
232419 진짜 해커들은 능력을 함부로 남발하지 않네 [3]    갤로그로 이동합니다. 11.01.26 162 0
232417 애라 시발 iOS라이센스 삿는데 왜 승인안해주냐. [4] Mayu갤로그로 이동합니다. 11.01.26 89 0
232416 도서검색 사이트를 어플로 만들려고해. [2] 이폰늅늅E(175.199) 11.01.26 93 0
232415 네이트온 차단당하면......... [2] dd(175.195) 11.01.26 154 0
232413 근데 어느 수준부터가 코딩이에요? [7] 곰들\'ⓧ\'갤로그로 이동합니다. 11.01.26 172 0
232412 아이패드 출시 후에도 넷 북은 계속 출시되네... [4] 분당살람갤로그로 이동합니다. 11.01.26 90 0
232411 형들아 질문좀 SODmaster갤로그로 이동합니다. 11.01.26 36 0
232410 게임서버개발 vs 솔루션개발 ㄱㅁㄴ(121.162) 11.01.26 93 0
232409 횽들아 도메인 싸게 살 수 있는 곳이 어딘가요? [2] 곰들\'ⓧ\'갤로그로 이동합니다. 11.01.26 54 0
232408 게이들아 답좀달아줘 몇번을글을싸야달아주니 [17] 어리벙(121.88) 11.01.26 161 0
232407 WINAPI에서 HWND랑 HINSTANCE차이가 먼가영 [11] 금고래갤로그로 이동합니다. 11.01.26 207 0
232406 java 능력자 형들봐줘.. [11] 뇌를딱자갤로그로 이동합니다. 11.01.26 183 0
232405 프갤러 3인방의 GGPO 탐험기 [코믹][유머][개그][엽기] [12] ggpo초고수갤로그로 이동합니다. 11.01.26 186 0
232403 양키들 코드가 왜 좋아보이냐고? [2] 훗쇼갤로그로 이동합니다. 11.01.26 202 0
232402 님들 CMS [1] 버드맨(58.230) 11.01.26 58 0
232401 학교 도서관 어플 만드려는데 [1] 이폰늅E(175.199) 11.01.26 121 0
232400 ㅇ.ㅇ.ㅇ.ㅇ.ㅇ.ㅇ [1] ■x1984(58.148) 11.01.26 52 0
232399 아랫횽 발진속도 알고리즘 예제임. 116.44(116.44) 11.01.26 86 0
232398 형들 나 모르겠음 도움 좀 으의킈킠ㄱ [1] 116.44(116.44) 11.01.26 96 0
232397 야 웹디 연봉 얼마냐? [2] 흠냐리(58.180) 11.01.26 327 0
232396 지금 구석횽이 보고 있다는 그 소시 짭 그룹이라는 게 nRESET(211.54) 11.01.26 57 0
232394 * 개발자 하지마라, 돈쪼끔주면 절대 하지말고. 2417(211.232) 11.01.26 100 0
232393 형들 노트북 질문좀할게 [3] dsf(61.106) 11.01.26 128 0
232392 밥은 먹고 하냐 ?? - ㅅ - [2] 2417(211.232) 11.01.26 91 0
232391 요새 php 개발자 구하기가 너무 힘든거 같아 ㅜㅜ monoless갤로그로 이동합니다. 11.01.26 176 1
232390 열혈 인터넷강의 별루네 [5] ㅋㅊㅌㅍ(58.236) 11.01.26 165 0
232389 형들아 [7] SODmaster갤로그로 이동합니다. 11.01.26 97 0
232388 요즘 가끔 불안해지는게... ㅅㄱ(219.241) 11.01.26 93 0
232387 형들아 VB땜시 미치것어 [2] 일돌이갤로그로 이동합니다. 11.01.26 1438 0
232386 알고리즘 질문요 [1] ㅇㅇㅇ(61.75) 11.01.26 93 0
232384 오늘은 그냥 놀고 내일부터 열심히해야지... [4] 꿀레(14.33) 11.01.26 109 0
232383 요거 에러는 없는데.. 맞는겅미? [2] ㄷㄷㄷ(221.162) 11.01.26 117 0
232382 여기 오빠야들은 일본말 알아들어?? [16] iljeomobolt갤로그로 이동합니다. 11.01.26 243 0
232380 학부생 논문을 써보려고 하는데 이거 어떨까? [6] 로레알갤로그로 이동합니다. 11.01.26 233 0
232379 프갤러 3인방의 GGPO 탐험기 [코믹][유머][개그][엽기] [8] ggpo초고수갤로그로 이동합니다. 11.01.26 136 0
232377 오랜만에 시 한 수 [2] 분당살람갤로그로 이동합니다. 11.01.26 82 0
232376 C 이렇게 공부하는거 괜춘 ? ㄷㄷ [4] ㄷㄷㄷ(221.162) 11.01.26 224 0
232375 손에 큰 화상을 입었습니다. [6] nRESET(211.54) 11.01.26 169 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2