디시인사이드 갤러리

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

갤러리 본문 영역

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

넉넉한터갤로그로 이동합니다. 2010.11.17 14:42:04
조회 108 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
346074 국내 임베디드 개발자 많음?? [4] ㅁㄴㅇㄹ(121.134) 13.02.16 260 0
346073 형들 나좀 도와주면안될까? [51] 15534(108.198) 13.02.16 319 0
346072 ㅓㅏ(61.98) 13.02.16 37 0
346071 은행 시스템 구축도 웹 개발자? [2] dsadsa(59.11) 13.02.16 122 0
346068 짜증난당 [1] 155534(108.198) 13.02.16 60 0
346067 레쿠바라던지 와이핑등등의 프로그램은 어디서 다운? [1] ㅇㄹㄴㅇㄹ(59.22) 13.02.16 143 0
346066 정보통신공학이랑 전자전기공학 사이에 두고 갈등중인데 어디가 좋을까 [3] 병청이(36.39) 13.02.15 208 0
346065 웹개발자인사람? [22] 신입(125.178) 13.02.15 362 0
346064 웹페이지 만들 때 VS 랑 Dreamweaver랑 차이점이 뭐임? [2] 네로시엔갤로그로 이동합니다. 13.02.15 102 0
346063 고려대 사이버국방학과 전망 ㅍㅌㅊ? [4] 개봉지(180.68) 13.02.15 296 0
346062 udp sendto,recvfrom 각각 다른소켓으로 안되나요? [3] udp(2.51) 13.02.15 101 0
346061 디도스공격하는거같은데 쉽게잡는방법없어? [2] ㅁㄴㅇ(112.172) 13.02.15 132 0
346060 왜틀린거야 왜!!???????????????????????????? [6] 시붕(125.142) 13.02.15 177 0
346058 도대체 이거머임 [2] 시붕(125.142) 13.02.15 74 0
346057 Kyle형 머리색 바뀌는거 밖에 못봤음? 생물학(123.215) 13.02.15 56 0
346056 자살춤 어캐됬냐? 생물학(123.215) 13.02.15 55 0
346055 형들 프로그램 문제를 푸는중인데 도대체 왜 틀린지 모르겠음..확인좀ㅠㅠ [5] ㅠㅠ(1.247) 13.02.15 105 0
346054 with 가 존나 쩔지 않는 이유가 머이에? [2] Kyle(220.244) 13.02.15 102 0
346053 2번문제 루비•‿•갤로그로 이동합니다. 13.02.15 145 0
346051 프로그래밍이 참 공짜로 가르쳐주는곳이 많아 [3] sㅇㅁㄴㅇ(59.11) 13.02.15 169 0
346049 근데왜 JS개발자는 '+' 에 온갓음해를 몰아놨을까? [5] Kyle(220.244) 13.02.15 122 0
346047 visual studio로 html 못만들어?? [2] 네로시엔갤로그로 이동합니다. 13.02.15 160 0
346045 염산 봐라 [4] ㅁㄴㅇㄹ(121.134) 13.02.15 103 0
346044 [특급비밀]백인 여친 있는데 몇달에 한번식 자연적으로 염색됨 [1] Kyle(220.244) 13.02.15 177 0
346043 내가 OOP의 개념이 잡혔다라고 느꼈을때 [3] 낄낄이(121.170) 13.02.15 185 0
346042 그 뭐드라 사무라이가 혼자 배꼽콕 찔러서 죽는거 [6] Kyle(220.244) 13.02.15 129 0
346040 노트북 살때 우선순위가 어떻게됨? [10] ㄹㅇㄴㅁ(175.223) 13.02.15 227 0
346039 TDD 잘아는 분 없음? [8] DART(116.41) 13.02.15 119 0
346038 수치해석 전공이라 matlab 주종목으로 쓰는데 질문좀 받아줘 ㅜㅡㅜ [4] 형들미안~(175.253) 13.02.15 147 0
346037 사이트갈쳐줌 ㄱㄱ [3] 염산(39.7) 13.02.15 108 0
346036 질문있다 int a,b가 뭐냐? [94] 12321421(221.145) 13.02.15 361 0
346035 공군에 it특기병 통신병뿐이냐? 뭐뭐잇냐 [2] 군바리될래(39.7) 13.02.15 91 0
346034 직장에서 좆나 아는척하는놈들이 많ㄹ은데 [3] sㅇㅁㄴㅇ(59.11) 13.02.15 120 0
346033 레노미나야 봐라 [11] 염산(39.7) 13.02.15 135 0
346032 리버서도 프로그래머범주에포함되냐? [1] (39.7) 13.02.15 78 0
346031 너가프통령이면이거풀어봐 [5] 염산(39.7) 13.02.15 143 0
346030 프통령이다 질문있다. [2] 12321421(221.145) 13.02.15 75 0
346029 프통령아이것좁알려줭 [8] 염산(39.7) 13.02.15 110 0
346028 프통령 봐라 [1] ㅁㄴㅇㄹ(121.134) 13.02.15 57 0
346026 프통령에 도전한다 [23] 12321421(221.145) 13.02.15 205 1
346024 자바의정석 왤캐어려움.. [3] ㅈㄷ굘(175.215) 13.02.15 175 0
346023 해커들이 비밀번호 뚫을때 [5] (175.115) 13.02.15 261 0
346021 게임 개발 커뮤니티 제일 활발한 곳이 어디에요? [5] ㅁㅁ(49.1) 13.02.15 182 0
346019 공대학생분들IT특기병준비방법궁금하신점 무료로상담해드립니다. [3] 김민섭팀장(211.48) 13.02.15 146 0
346018 아오 죽겠다 정말... [1] 자유로운영혼(123.142) 13.02.15 62 0
346016 공뭔전산직 준비하시는분들. 정보보호론 어떻게 공부하실 건가요? ka1zer갤로그로 이동합니다. 13.02.15 58 0
346014 리눅스는 어려우시다 ㅠㅠ [6] 나리링갤로그로 이동합니다. 13.02.15 137 0
346013 퇴사 1주일 전 [5] 자유로운영혼(123.142) 13.02.15 134 0
346009 쫌만알아도 아이디어랑 티이밍만 맞으면 돈벌수있다는대 트루임? [3] ㅂㅂ(122.128) 13.02.15 116 0
346007 점점 파다보니까 보안에 관심을 가지게 되던데... 나도 중2병임??? [11] ㅇㅇ(203.253) 13.02.15 226 0
뉴스 정선희, 결혼 1년 만에 남편 사별 후 음모론과 비난으로 고통스러운 시간...17년 만에 심경 고백 디시트렌드 07.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2