디시인사이드 갤러리

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

갤러리 본문 영역

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

넉넉한터갤로그로 이동합니다. 2010.11.17 14:42:04
조회 104 추천 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 - -
234034 나우누리 하이텔 시절 vt모드로 접속하던 이유가 [7] ㅇㅇ(121.169) 11.02.09 124 0
234033 늅늅 [1] mks갤로그로 이동합니다. 11.02.09 33 0
234031 횽들 제발 Game Audio Programming 책을 구할수 없을까 [8] Gromit갤로그로 이동합니다. 11.02.09 138 0
234030 저도 오랜만에 숏코딩을 해보았습니다. [3] SODmaster갤로그로 이동합니다. 11.02.09 133 0
234029 딱히 책없이도 공부하겠는데 Pr0xy갤로그로 이동합니다. 11.02.09 96 0
234028 p2p 쿠폰뿌림 몬스터123갤로그로 이동합니다. 11.02.09 52 0
234027 이클립스 쓰는데 질문점요... [3] ㄴㄴ(220.69) 11.02.09 96 0
234026 gdb 이거 왜 이럽니까?? ㅜㅜ [성대아싸]갤로그로 이동합니다. 11.02.09 85 0
234025 아 도와주세요 미쳐버릴것간캐요 [1] rr(183.100) 11.02.09 60 0
234024 당할자없네.. [1] 씨발라드세요갤로그로 이동합니다. 11.02.09 72 0
234023 터키해커한테 사이트털려본횽아있음? [3] Pr0xy갤로그로 이동합니다. 11.02.09 246 0
234022 이게 스타2 개발 핵심 알고리즘이란게 사실인가요? [10] 귀챦이스트갤로그로 이동합니다. 11.02.09 309 0
234021 프갤여러분 한가지궁금한게 있는데요 [3] 만체(203.251) 11.02.09 66 0
234020 c언어 질문요. 흐미. [3] Paradise갤로그로 이동합니다. 11.02.09 113 0
234019 자바의정석vs난정말자바를공부한적이없다구요 추천좀 [5] 자바를잡아라(219.255) 11.02.09 579 0
234018 구글, 음성인식 번역 기술??? [5] ㅁㄴㄴ(58.77) 11.02.09 156 1
234016 먹을게 없어서 자꾸 남은 비타민만 쳐먹네여 [1] 일광면(119.198) 11.02.09 119 0
234015 Programming in C (정재은 저) 이책 괜찮나요? [1] 2424(58.120) 11.02.09 92 0
234013 자료구조, 알고리즘만 알면 응용프로그램 등 만드는 건 쉬울까요??? 컴돌이(58.77) 11.02.09 78 0
234012 코드패드 왜 log 가 아니되? [1] new gay[max](183.105) 11.02.09 74 0
234011 게이가 되어 가는 과정 원본 [2] LightEach갤로그로 이동합니다. 11.02.09 181 0
234010 형들 나 궁금한거 있는데 진솔하게 상담 좀 [4] 헥토파신갤로그로 이동합니다. 11.02.09 147 0
234009 엑셀 질문점 [3] 박돌똘갤로그로 이동합니다. 11.02.09 171 0
234008 웹에 이미지를 올리는 프로그램을 만들고싶은대.. [5] 이잉..(211.186) 11.02.09 110 0
234007 프겔 분위기가 좀 가라앉아있네요 [2] 세브(222.239) 11.02.09 129 0
234006 요새 "거샤"란 말이 유행이냐? (2) [3] 분당살람갤로그로 이동합니다. 11.02.09 137 0
234005 dll 에서의 객체 생성 [1] AutuMn(183.107) 11.02.09 86 0
234004 요새 "거샤"란 말이 유행이냐? 분당살람갤로그로 이동합니다. 11.02.09 108 0
234002 언니들 반가워요~ [6] 세브(222.239) 11.02.09 154 0
234000 안드로이드 하는데 AVD 이거 로딩타임 너무 길어 횽들 [7] 더블엘갤로그로 이동합니다. 11.02.09 379 0
233999 안드로이드 C2DM 프로그래밍 - 서버 URA!갤로그로 이동합니다. 11.02.09 216 0
233998 [아이폰 프로그래밍]아이폰 프로그래밍, iPhone 프로그래밍 과정 Choongang(125.129) 11.02.09 70 0
233997 [안드로이드폰 프로그래밍] 자바,안드로이드폰 프로그래밍 과정 Choongang(125.129) 11.02.09 80 0
233996 홈페이지 유료 제작해 드립니다 (샘플 있음) [1] 미클갤로그로 이동합니다. 11.02.09 167 0
233995 배열안쓰고 2진수 변환 하는거 만들어봤는데 좀 봐줘 [11] Lowforce갤로그로 이동합니다. 11.02.09 371 0
233994 c언어 코딩을 했는데 제가 생각하는데로 안나오네요 지적좀해주세염 [10] 44(183.100) 11.02.09 161 0
233993 FMOD 좀 질문드릴게요 전문가님들 ㅠ ㅠ [1] 으으윽(210.93) 11.02.09 90 0
233992 집에서 리눅스 깔고 서버환경 구축하면 불법임? [7] 이모군(1.225) 11.02.09 231 0
233991 C언어 초보 도움점 ㅠ [1] Paradise갤로그로 이동합니다. 11.02.09 67 0
233990 블랙베리 JNI 지원안함?? 우아아갤로그로 이동합니다. 11.02.09 64 0
233989 자바 hasnext() 메서드가 어떤건지 설명 좀. [2] 왁스맛치즈갤로그로 이동합니다. 11.02.09 729 0
233985 발렌타인데이 [1] ㅈㄷㄱ(211.208) 11.02.09 51 0
233983 프로그래밍 할때 모니터 궁금이(119.198) 11.02.09 98 0
233980 c언어 쵸늅좀 도와줘요 ㅠ [6] 유동(115.21) 11.02.09 175 0
233979 USB에 관련된 질문입니다. 초보쿤(58.238) 11.02.09 53 0
233978 소프트웨어 공학 혼자서 독학해도 되나염? 금호족기(61.75) 11.02.09 86 0
233977 나이먹어서 프리랜서하는 사람들 밀크웨이(121.50) 11.02.09 153 0
233975 이소스의 문제점을 파악하고 수정하라! [1] 냠냐리(61.255) 11.02.09 81 0
233973 조까튼 페이스북 [1] 아주아슬갤로그로 이동합니다. 11.02.09 184 0
233972 C++ 포인터 공부하고 있는데 i == arylength - 1 ? 에서 [3] 자갈로(168.115) 11.02.09 99 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2