|
: ex) int *a;
: ex) int *p;
변수 a의 값을 변화시킨다는게 a의 포인터 자체를 바꾸겠다는건지
아님 a에 할당한 메모리의 데이터를 바꾸겠다는것인지 잘모르겠습니다.
어쨌든 a 자체를 바꾸면 할당한 메모리를 해제할 수없을테니까 그런일은 안하실거 같구.
그냥 a의 데이터 값을 바꾼다면 p에 a주소 넣고 사용하며됩니다.
1. a에 메모리 할당
2. p = a;
3. p[0] = 'A'; // 이런 식으로 하면 a[0]에 'A'란 값이 들어가죠.
흠..이거 질문한거 맞는지?
:
: 2. for(i=0;i<100;i++)
: {
: fscanf(fp,"%d",&filedata);
: if(filedata==EOF) break;
: om_address[k]=filedata;
: k++;
: }
: 파일에서 데이터르 하나씩 불러서 어레이에 집어 넣는건데..
: 중간에 파일내용이 다 끝나면.. 100이 안되더라고 그냥 끝내게 하기 위해.. if문을 넣었습니다..
: 근데 이게 작동을 안하더군요..
: 그것좀 물어 볼려구.. ^^;;
fscanf에서 %d로 읽었기 때문입니다.
EOF란 것은 1바이트 캐릭터 형이기 때문이죠.
이런식으로 사용하는건 구조상 쫌 문제가 있는데... 흠...
:
: 3. main에서 argc와 argv를 불렀습니다.. 그래서..
: fp=fopen(argv[1],"r");
: 이렇게 했더니..
: warning이 나오더라구요..
warning이 나오는걸 해결하고 싶으신거 맞죠?
지금 제가 있는곳에 컴파일러가 없어서 정확히 답변은 못드리지만..
fp = fopen((char*)argv[1], "r"); //이렇게 하면 안뜨지 않을까요?
형변환이 안맞아서 뜨는거 같은데..
그리고.. 참고적으로 질문 올리실때는 warnig내용도 같이 올려야 되겠져.?? ^^
그럼.. 즐프하세요. ^^*
|