저가 c를 공부하는데 배열포인터에대해 이해안가는게 있습니다. 알려주세요

오류에 대하여 질문하신다면,어느 부분에서 어떤 내용의 오류가 나는지를 써주세요.

char a[2] int b[3] 이런식으로 배열을 선언하면 저 변수들의 이름값은 포인터라고 알고 있습니다그리고 scanf 함수를 쓸때 입력받은 값을 주소값으로 찾아야하니까 포인터 변수에 주소값을 주기위해 &를 붙이는걸로 알고 있습니다 그래서 배열의 이름값은 포인터 이니까 &를 붙일 필요가 없다고 알있어요 그래서 scanf함수에 저변수에 담을려고 한다면 scanf(%d, a) scanf(%s, b) 이런식으로 하면 대는거겟죠? 근대 여기서 부터 이해가 안갑니다 왜 저값을 출력하면 모든 배열에 담긴 수가 출력이 대는거죠? 배열에서 포인터 변수는 이름값이니까 이름값이 배열 첫번째 꺼랑 같으니까 스캔함수에 &연산자를 붙이지 않는다면 배열의 그건 배열의 [0]값을 의미하는거 아닌가요? 만약 저게 저변수의 배열 전채를 가리킨다면 [0]말고는 다른곳에 &연산자를 붙여야하는데흠,, 그래서 저는 프린트 출력할때 [0]값만 출력대야 정상인걸로 생각댑니다 왜그런거죠?

댓글 0

아직 댓글이 없습니다.

프로그램 개발일반 다른 글

목록