디시인사이드 갤러리

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

갤러리 본문 영역

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

넉넉한터갤로그로 이동합니다. 2010.11.17 14:42:04
조회 102 추천 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/17 - -
232241 한국인들만을 노린듯한 .. [2] 때릴꺼야?(119.67) 11.01.25 208 0
232240 VB 2010에서 set 사용방법? [1] 일돌이갤로그로 이동합니다. 11.01.25 180 0
232239 크롬쓰는횽 하나만 가르쳐줘 [3] ㅇㅂㅇ(113.59) 11.01.25 75 0
232238 밑에 주옥같은 얘기 보고 생각난거 [7] 123(218.55) 11.01.25 91 0
232237 답변해주니까 먹튀하네 [1] 아잉따잉갤로그로 이동합니다. 11.01.25 110 0
232235 닥치고 이거하나면 게임끝! [1] 갑자원(58.180) 11.01.25 100 0
232234 페이스북, 트위터 [2] 버드맨(58.230) 11.01.25 100 0
232233 안녕하세요 간단히 질문하나드려도 될가요? [2] aaaa(61.253) 11.01.25 61 0
232232 LISP에서 음의 변수 표현하려면.. [2] kushan갤로그로 이동합니다. 11.01.25 91 0
232230 윈도우 CE에서 쓸수있는 컴파일러 있음? [4] elwlwlwk갤로그로 이동합니다. 11.01.25 80 0
232229 게임 가드 문제 일까요? [4] 테라인생(118.222) 11.01.25 130 0
232228 po소음wer [3] 파이와파슬리(110.15) 11.01.25 100 0
232227 이 에러 고쳐주실 횽님 안계신가요 ㅠ [17] 테라인생(118.222) 11.01.25 1242 0
232225 using pgall.meeting.this.friday [3] 물속의다이아갤로그로 이동합니다. 11.01.25 106 0
232224 천재플머가 되기 위한 마음가짐. - 천재플머 명언 - [7] 천재플머(175.196) 11.01.25 351 0
232223 기술고시 전산직렬은 솔직히 대부분 패배자마인드 아니냐 [2] ㅇㅇ(118.176) 11.01.25 487 0
232221 닥치고 퍼즐 [2] 갑자원(58.180) 11.01.25 78 0
232220 컴공 이제 할만해진 듯. [1] ltw갤로그로 이동합니다. 11.01.25 203 0
232219 하루 종일 상태가 메롱이닷 [13] 해일리갤로그로 이동합니다. 11.01.25 117 0
232218 누가 아이디어만 있으면 다된다고 했냐?? [2] 초밥술사갤로그로 이동합니다. 11.01.25 131 0
232217 형들 다이얼로그 활성화가 가끔 안되 -_-;; Alt를 눌러야 나오는데; inyo(110.71) 11.01.25 82 0
232216 앱 개발 해드림 ( 병특 노예근성 탑재 ) [8] 노예근성(121.66) 11.01.25 233 0
232214 흐으ㅠㅠ 미치겠당~ 제로보드~~ [4] 흐으ㅠㅠ(112.219) 11.01.25 134 0
232213 이번주 개발자 회식의 Formula [3] 물속의다이아갤로그로 이동합니다. 11.01.25 122 0
232212 ggpo머시기는 보아라 [12] 카디군갤로그로 이동합니다. 11.01.25 170 0
232211 어제 ggpo 수정하던 자칭천재프로그래머 [글쓰기만보 ,카디군,젤라클] [23] ggpo초고수갤로그로 이동합니다. 11.01.25 265 0
232210 요즘 ajax가 대세인갑요 [8] 버드맨(58.230) 11.01.25 194 0
232209 공손하게는 봄.니.다. [5] 물속의다이아갤로그로 이동합니다. 11.01.25 120 0
232208 프갤말고 프로그래밍 하는사람들 모여있는 커뮤니티 없나요? [4] 공손하게(116.39) 11.01.25 163 0
232207 해일리님 귀여워 ㅋ [14] 공손하게(116.39) 11.01.25 177 0
232205 횽들 자바코딩 오류나는데 좀 도와줘... [2] ㅇㄴㅋ(218.235) 11.01.25 86 0
232204 저는 어플로 푼돈 벌어서 지하철 구걸하는 불쌍한사람들 줄거에요 [6] 공손하게(116.39) 11.01.25 123 0
232203 횽들 하루에 커피 몇잔 마셔? [10] 해일리갤로그로 이동합니다. 11.01.25 148 0
232202 이제 C++공부에 매진해야겠다 꿀레(14.33) 11.01.25 104 0
232201 저는 엄청난 어플을 만들어서 성공할 사람이에요 [9] 공손하게(116.39) 11.01.25 139 0
232200 여성부에서 입국을 거부할 것으로 예상되는 축구 선수 리스트 [1] 분당살람갤로그로 이동합니다. 11.01.25 140 0
232199 순돌씨 미안해ㅠㅠ 방법이 안보인다 ㅠㅠ [6] 젤리클갤로그로 이동합니다. 11.01.25 108 0
232198 어플만드려면 머배워야되요? [4] 공손하게(116.39) 11.01.25 113 0
232197 c하다가 보니까 서식문자 관련되거 같은데 안되네요.. [4] c개초보(180.230) 11.01.25 60 0
232196 형들 c++기초구문인데 실행이 왜 안되? [20] !!(119.198) 11.01.25 165 0
232195 물속의다이아 형 내인생의 다이아가 되어줘 [4] 공손하게(116.39) 11.01.25 98 0
232194 20대 후반 프로그래머 한달 봉급 호비뉴갤로그로 이동합니다. 11.01.25 186 0
232193 이런 프로그래밍이 200만원 내는거 바가지임? [9] ㅇㄹ(59.19) 11.01.25 254 0
232192 학교 전체가 디시인 .jpg ㅊㅊㅊ(124.3) 11.01.25 217 0
232191 057e7730c14f32a9e86b0482941b1e8b76613235 [1] 고자심슨(118.34) 11.01.25 103 0
232190 횽들 질문있는데 [1] 써무사(24.7) 11.01.25 39 0
232189 안녕하세요 형님들... 진로 상담 받으러 왔습니다.. [8] 공손하게(116.39) 11.01.25 138 0
232188 ↓ 아래 호비뉴는 봄.니.다. [2] 물속의다이아갤로그로 이동합니다. 11.01.25 81 0
232184 오라클에 이런 쿼리가 가능해? [3] 물속의다이아갤로그로 이동합니다. 11.01.25 115 0
232182 VB에서 외부 COM 읽은다음에 프로그램 짜는데 [2] 일돌이갤로그로 이동합니다. 11.01.25 175 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2