디시인사이드 갤러리

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

갤러리 본문 영역

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

넉넉한터갤로그로 이동합니다. 2010.11.17 14:42:04
조회 109 추천 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 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45405 65
2871183 고졸 10년차 연봉 6500 질문받음 프갤러(14.51) 19:47 6 0
2871182 도로롱!! 이 세상을 구해조! ♥로스트미디어냥덩이♥갤로그로 이동합니다. 19:46 7 0
2871181 참 살기좋은나라 축복받은나라여 ㅋㅋㅋㅋ 뒷.통수한방(1.213) 19:39 5 0
2871180 싱글벙글 AI가 그린 코딩 고수...jpg [3] ㅇㅇ갤로그로 이동합니다. 19:25 29 0
2871179 나님 수학문제 내면 프갤에서 아무도 못맞춤 ㅇㅅㅇ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 19:25 9 0
2871178 지인 우연히 마주쳤는데 돈 얼마나 범?? [1] 프갤러(124.50) 19:23 21 0
2871177 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 19:22 7 0
2871175 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 19:14 8 0
2871173 2재명도 이렇게 되려나 ㅋㅅㅋ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 19:09 14 0
2871171 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥로스트미디어냥덩이♥갤로그로 이동합니다. 19:04 7 0
2871170 esp32용 구형 macos 에뮬레이터 발명도둑잡기(118.235) 19:01 10 0
2871169 지금까지 구직 사이트를 한 번도 써본 적이 없음. [2] 프갤러(211.234) 18:54 40 0
2871167 큰거 온당! ♥로스트미디어냥덩이♥갤로그로 이동합니다. 18:47 16 0
2871166 인물이 싫더라도 공은 공이고 과는 과인데 진짜 미안한데 두창이는 [1] ㅆㅇㅆ(124.216) 18:46 36 2
2871164 가장 간단한 8비트 6502 브레드보드 컴퓨터 [1] 발명도둑잡기(118.235) 18:43 12 0
2871163 전라도 홍어 기생충 [1] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 18:42 16 0
2871162 이번 상법개정안은 이전에 IMF랑 OECD에서 권고했던 사안인데 ㅆㅇㅆ(124.216) 18:42 21 0
2871161 걍 좌우 떠나서 찢<<그나마 뭐 할려고 하는듯 임기초 괜찮아보이는데 ㅆㅇㅆ(124.216) 18:40 29 1
2871160 애플1 브레드보드 구현 [1] 발명도둑잡기(118.235) 18:38 15 0
2871159 '주학년 & 아스카 키라라' 영상 뜸 ㄷㄷㄷ 프갤러(211.58) 18:38 11 0
2871157 앞에 부러운 커플이 있네 [2] 발명도둑잡기(118.235) 18:33 24 0
2871156 '김계란 얼굴 공개했네요ㅋㅋ 프갤러(211.58) 18:29 21 0
2871155 씹덕 학원물 청춘 애니 보고 있는데 [2] 아스카영원히사랑해갤로그로 이동합니다. 18:29 30 0
2871152 근데 확실한 건 윤보다 찢이 낫다는 거임 [4] 아스카영원히사랑해갤로그로 이동합니다. 18:17 49 0
2871150 GPT 시발년 개빡세노 ㅋㅋ [1] ←Backspace갤로그로 이동합니다. 18:15 39 0
2871149 오늘하루도 코딩을 열심히하였다 ㅆㅇㅆ(124.216) 18:14 13 0
2871143 코드구조를 잘짜는 수련? 은 어떻게해야할까요 [1] 프갤러(125.240) 17:57 29 0
2871142 Building a breadboard MSX computer 발명도둑잡기(118.235) 17:56 9 0
2871141 A Simple-as-Possible 8-bit Breadboard Co 발명도둑잡기(118.235) 17:54 10 0
2871139 6년전에 썼던 한페이지 짜리 코딩 msnr갤로그로 이동합니다. 17:53 32 0
2871136 여자친구랑 배드민톤 치고싶다 발명도둑잡기(118.235) 17:41 19 0
2871135 세계 바둑 순위 발명도둑잡기(118.235) 17:40 13 0
2871132 물 속에서 꺼낸 충격의 물고기 발명도둑잡기(118.235) 17:33 9 0
2871131 결국 웹앱개발이 도태되고 임베디드가 승리하는군 네오커헠(211.235) 17:32 24 0
2871129 방 치웠더니 등이 아프구나 발명도둑잡기(118.235) 17:30 9 0
2871128 내 나이 46살, 30대 여성과 사귀고싶다 발명도둑잡기(110.70) 17:26 16 0
2871126 바이브코딩이 ㅈㄴ 열받는 이유 프갤러(115.138) 16:29 52 0
2871125 제조업 MFC 쓰는 이유 [3] 피자2021(58.235) 16:24 45 0
2871124 2재명 좌파정부 여가부장관 후보 부정비리갑질 의혹 연이어 터져 특검 필요 ♥로스트미디어냥덩이♥갤로그로 이동합니다. 16:23 18 0
2871123 흠.. 그런겅강.. 기계적 리듬으로 안됭 ♥로스트미디어냥덩이♥갤로그로 이동합니다. 16:20 14 0
2871122 [IT산업] AI 개발자가 가능하다면 설계는 어떻게 될까?.. [2] +abcd3421갤로그로 이동합니다. 16:17 30 0
2871120 왜 장비제어 프로그램은 다 MFC인가요? [3] 노력하는자갤로그로 이동합니다. 15:50 53 0
2871119 의외의 방법으로 피부상태 되살린달글 ㅇㅇㅇㅇ(124.198) 15:49 16 0
2871117 인생 망했다 [1] 피자2021(58.235) 15:03 31 1
2871115 고등학생인것 같다는 얘기 들었다 [8] 헬마스터갤로그로 이동합니다. 14:08 83 0
2871114 국비 강사새끼들 다뒤졌네 프갤러(106.102) 13:59 69 0
2871113 트럼프는 슈퍼맨도 이민자라고 추방할 예정 [2] 발명도둑잡기(118.216) 13:55 25 0
2871112 성인 넷 중 한 명만 중강도 이상 신체활동…"부족률 세계 1.9배" 발명도둑잡기(118.216) 13:50 26 0
2871111 요즘 코드 짜주는 도우미 AI 중에 쓸만한 것은 뭐있냐 ? [5] ♨2.97™갤로그로 이동합니다. 13:36 54 0
뉴스 '아이쇼핑' 염정아 vs 원진아, 완벽한 설계자와 생존자의 팽팽한 대립! 파격 소재 담긴 독보적인 콘셉트! ‘아이쇼핑’만의 차별화된 핵심 포인트 집중 조명 디시트렌드 07.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2