프로그래밍

 3198, 1/160 회원가입  로그인  
   twin0719
   c언어 관련 질문

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6553 [복사]


#include <stdio.h>
int main(void)
{
        char *str[4] = { "dog" };

        printf("%d %d %d %d \n", &str,&str[0],&str[1],&str[2]);
        printf("%d %s %s %s \n", str,str[0],str[1],str[2]);
        printf("%d %d %d %d \n", str, str[0], str[1], str[2]);
        return 0;
}
3341940 3341940 3341944 3341948
3341940 dog <<null>> <<null>>
3341940 15493936 0 0
이렇게 나오는데
1. str = str[0] ?
2. str[1] 하고 str[2]는 왜 null이고
   주소도 없나요

  Hit : 5153     Date : 2016/05/08 11:12



    
김기범 char *str[4] = { "dog" }; 은 포인터 배열입니다. 현재 초기화는
*str[0]="dog";
*str[1]=NULL;
*str[2]=NULL;
*str[3]=NULL;
이런식으로 되어있습니다. 1,2,3에는 쓰래기값이 들어가있는거죠
어떤 용도로 코드를 짜신지 모르지만
char *str[4]={'d','o','g',\o}; 이 코드로 원하는 결과를 얻을수 있지 않을까 합니다.
2016/05/10  
ks610126 김기범씨 ? 2016/05/15  
menial str= str[0][0]

*str[1] = null 로 초기화된 것임. 쓰레기 값이 아님
2018/11/21