배열 포인터 관련 질문입니다.
아리솔
2023.04.01
질문 제목 : 배열 포인터 관련 질문입니다.질문 요약 :printf에서 %s 스트링을 출력할때 배열의 포인터 주소가 가르키는 값을 넣으면 왜 안되는지에 대해 알고 싶습니다.질문 내용 :
아래와 같은 코드를 작성하였습니다.
목적은 파일의 이름을 scanf 로 받아서 그것을 다시 printf 로 출력을 합니다.
이전에 배열 포인터 값을 i 에 대입하여 저장하고 출력하는데 사용하는데
scanf 는 스트링 뒤에 주소값이 들어가기때문에 포인터 변수인 i를 그대로 사용하는 것은 이해가 되는데
printf 에는 본래 값이 들어가야하는데 *i 를 넣으면 세그먼트 오류가 뜨고 i 를 넣어주면 정상적으로 값이 출력되는데
왜 그럴까요.
추가로 질문하나 더 드리면 배열 선언하고 포인터 변수에 대입할때 문자열을 넣는 과정에서 배열과 포인터변수의 타입을 int 로 바꾸어도 값 출력에 이상이 없는데 이는 ascii 로 값이 저장되기 때문인가요?
#include stdio.h
#include string.h
int main(){
char filename[20] ;
char* i = filename;
printf(파일이름을 작성해주세요\n);
scanf(%s, i);
printf(filename 은 %s 입니다.\n,i);
return 0;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |