|
그럼 어떻게 해야되나요?
문자열을 저장할껀데.. a+, a0 머 이렇게 입력받을껀데
문자를 입력받는다면 할 수 있겠지만 문자열을 어떻게 해야되나요?
라스코니 님이 쓰신 글 :
: 포인터는 단지 어떤 데이터(여기에서는 buf[]라는 char 배열이 되겠죠?)의 주소를 기억하고 있을 뿐이므로,,
: 아래와 같은 코드는 당연히 바뀔수 밖에 없겠죠?
:
: 쉽게 이야기 하면 애들 8명(char 포인터) 데려다 놓고, 컵(char buf[3])을 하나 준비하고, 과일들(성적을 이야기함)을 차례로 컵에다 담으면서(그러면 전에 있던 과일들은 없어진다고 보고) 애들보고 컵안에 뭐를 넣었는지 기억하라고 하는 것과 동일합니다.
:
: 결과는 애들이 무엇을 기억하고 있던 정확하게 맞는 건 맨 마지막에 기억한 애의 기억뿐이겠죠..
:
: 그러면 애들의 기억을 모두 보존하려면 어떻게 해야 할까요??
:
: 컵을 8개 준비하고 컵하나씩 꺼내어 과일을 담은 후 애들에게 각각 들고(기억하고) 있으라고 하면 되겠네요....
:
: ^^
:
:
: 우리끼리 님이 쓰신 글 :
: : #include <stdio.h>
: : #include <stdlib.h>
: :
: : void main(){
: : char *result[8]={0},buf[3];
: : int i;
: :
: : for (i=0; i<8; i++){
: : printf("성적 입력 >> ");
: : scanf("%s",buf); //입력는 a+ ~ f까지..
: : result[i] = buf ;
: : printf("%s\n",result[0]);
: : }
: : }
: :
: : 제가 이렇게 짜봤는데요..
: :
: : 제 이론상으론 result[0] 일때 값이 안변하는거 같은데...
: : 입력하면 값이 바뀌네요... 값이 안바뀌게 도와주세요..!!
|