GAJUNG21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2006/11/12 22:30:05
Name PKM-375
Subject c언어 배열선언과 초기화에 관해서 질문좀드릴게요..답변좀해주세요ㅠ
- char *name = "Hong Gil Dong"
- char name[10] = "Hong Gil Dong"

위 두가지 변수선언과 초기화방법의 차이점 설명좀 해주세요..

위에건 홍길동이란 이름이 네임이란포인터변수주소를 가리킨다는건 알겠는데 자세히는

모르겠고..밑에건 네임이란변수 네임0 ~~ 네임9 까지에 홍길동이란게 공백포함해서

들어간다는건 알겠는데 더이상은 모르겠습니다.

c언어좀 하시는분 좀 가르쳐주세요.

마속 나무위키 문서 2.3. 가정의 패전 인용

"그런데 여기서 마속은 제갈량의 명령을 무시하고 길목에 세워야 할 방어진지를 산 꼭대기에 세우는, 전쟁사상 다시 없을 바보짓을 한다.
부장 왕평이 필사적으로 말렸지만 이마저도 무시해버린다."
정지연
06/11/12 22:40
수정 아이콘
둘 다 내부적으로는 차이가 없습니다.. 메모리에 8bit(char의 크기)*13 의 크기만큼 메모리를 연속적으로 잡아놓고 거기에 Hong Gil Dong 을 집어 넣어 놓거든요.. 1번처럼 선언하고 name[1]을 출력해도 o 가 나오고 2번처럼 선언하고 *(hong+1) 을 출력해도 o 가 출력됩니다.. 1번처럼 하는 이유는 배열의 크기를 동적으로 잡고 싶을때(즉, 프로그램을 실행하면서 입력값에 따라 배열의 크기를 다르게 한다던지 하고 싶을때..) char *name; 이라고만 선언해 둔 후 malloc() 함수를 이용해서 동적으로 메모리를 할당받으면 그 이후로는 배열 쓰듯이 쓸 수 있습니다.
Dark-probe
06/11/12 23:32
수정 아이콘
내부적으로 차이 있습니다.

char *name = "Hong Gil Dong" 로 할 경우
프로그램이 올라가는 메모리의 데이터 영역에
"Hong Gil Dong" 이 들어가고
이 데이터는 읽기전용이 됩니다. (수정할 수 없습니다.)

char name[10] = "Hong Gil Dong" 으로 하면
스택 영역에 11바이트를 할당해서 저걸 저장합니다.
스택에 있는 내용이므로 수정 가능합니다.
06/11/13 01:02
수정 아이콘
감사합니다!!
-*BestZergling*-
06/11/13 17:26
수정 아이콘
그리고 덧 붙이자면
처음것은 name의 size = 14가 되겠죠...뒤에 널 포함해서요...
그리고 뒤에것은 size 10바이트죠... 10개배열인데 11바이트면 안되죠...
char name[10]하면 쓸수 있는 배열인자는 [0]~[9]까지 입니다. [10]은 못쓰는겁니다.
그리고 뒤에것은 운 좋으면 홍길동 이상없이 다 저장되지만
만에 하나 그 뒤에 뭔데이터가 있다면 그 데이터 깨지죠...
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
22508 입대 할때 알고가면 좋은 것들? [2] 비즈1909 06/11/13 1909
22506 안녕하세요 워크도 드랍핵이있나요?? [6] 조진우4460 06/11/13 4460
22504 겨울에 부산가면 할거 없나요? [3] Supreme2371 06/11/13 2371
22503 덧니에 대해 질문 [2] 무아지경1514 06/11/13 1514
22502 [겨울여행] 20살 남자들끼리, 겨울여행 추천장소좀 알려주세요..^^ [6] 호나우딩요8499 06/11/13 8499
22501 익스플로러질문입니다 [1] 유승1817 06/11/12 1817
22500 경영학과에 대해서 질문좀... [25] 이민재2115 06/11/12 2115
22499 성대공대 점수대는 어느정도인가요? [5] Short3100 06/11/12 3100
22497 구형보드에 SATA 하드를 물릴 방법을 알려주세요 [1] 정지연2103 06/11/12 2103
22496 수능 시험에 대한 질문입니다. [25] 지수냥~♬1900 06/11/12 1900
22495 외장하드에 대해서 질문이요~ [1] Lightund1810 06/11/12 1810
22494 수능날 휴대폰 가지고 가도 되죠?!! [10] Andante8278 06/11/12 8278
22493 위닝 문제좀 해결해 주세요 [1] 무아지경1738 06/11/12 1738
22492 방화벽 관련 질문입니다 [1] Jz)tOsS1556 06/11/12 1556
22491 c언어 배열선언과 초기화에 관해서 질문좀드릴게요..답변좀해주세요ㅠ [4] PKM-3752150 06/11/12 2150
22490 수능 시험 보러 갈때.. [4] 로얄로더3434 06/11/12 3434
22488 악성코드제거프로그램에 관한 질문입니다 [6] 사탕한봉지1547 06/11/12 1547
22487 프로토스 유저가 보면 도움되는 리플이나 VOD추천좀 [1] sulzan1523 06/11/12 1523
22486 위닝 질문있습니다~ [6] Nyx_soul2129 06/11/12 2129
22485 스타 프로게이머 연봉에 관한 공식자료는 없나요? [2] 고니1958 06/11/12 1958
22484 크로스백 추천해주세요 [3] Daylight1836 06/11/12 1836
22483 (리플)루나 테프전 리플 분석좀 ^^; [1] show_time2097 06/11/12 2097
22482 군관련 질문입니다. [2] 완불쌍뱅미2050 06/11/12 2050
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로