c언어 배열, 값에의한호출 질문입니다 ㅠㅠㅠ
바르고
#include stdio.h
#define N 5
void change_it(int []);
int main(void)
{
int a[N]={1,2,3,4,5}, i;
printf(change_it() 호출전 n);
for(i=0; iN; i++)
printf(a[%d]=%dn, i, a[i]);
change_it(a);printf(change_it() 호출후 n);
for(i=0; iN; i++)
printf(a[%d]=%dn, i, a[i]);
return 0;
}
void change_it(int a[])
{
int b[N]={6,7,8,9,10};
a=b;
}결과는change_it() 호출전
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
change_it() 호출후
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5여기서 change_it()함수를 호출해도
배열 a가 그대로인 이유가 궁금하네요.
제가 짠 코드는 아니고 배열 공부하고 있는데,
이 코드가 이해가 안되요 ㅠㅠ
배열이름만사용하면 그건 주소를 저장할수 있는 변수로 쓰이는건 알겠는데,
위의 함수에서 처럼 a=b라고 해버리면
주소값을 변경시키는 거지만
참조에 의한 호출은 아니고, 값에 의한 호출이잔아요
근데 함수를 호출후에도 배열값이 그대로 인것은
무엇과 관련이 있는거죠?
지역변수라서 그런가요?
전역으로 선언해도 똑같이 나오던데;;;;
제가 잘못한건가요?
고수님들 가르침좀 부탁드릴게요 ㅠㅠㅠ
-
하예라
넘긴값은 주소 값이 맞습니다
그러나 함수에서는 넘어온 값을 변경한 것이 아니라 주소에서 주소를 매칭 하려고 한것인데
정적인데 가능하지 않지요 -
파란
#include stdio.h
#define N 5
void change_it(int []);
int main(void)
{
\tint a[N]={1,2,3,4,5}, i;
\tprintf(\change_it() 호출전 \\n\);
\tfor(i=0; iN; i++)
\t\tprintf(\a[%d]=%d\\n\
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |
2693328 | C언어를이용해서 .txt파일 외에 다른 확장자 파일 삭제가 가능한지.. (2) | 대나무 | 2025-05-01 |
2693299 | 파일입출력 바이너리파일 | 독특한 | 2025-04-30 |
2693273 | 오류 (1) | 귀1여운렩 | 2025-04-30 |
2693080 | visual studio 2008 express edition 등록키 말인데요 | 얀별 | 2025-04-28 |
2693053 | 배열, 구조체 관련 프로그래밍 질문드립니다. | 싸리 | 2025-04-28 |
2693025 | 프로그램을 짜봤는데요 ㅠㅠ | 상처입은마음 | 2025-04-28 |
2693001 | 워닝문제, 세그멘트결함문제 (1) | 월식 | 2025-04-28 |
2692979 | 라인한줄 이랑.. 소스 설명좀 부탁드려요.. | 이루리 | 2025-04-27 |
2692947 | 이 문제좀 풀어 주세요..ㅜㅜ (1) | 소리 | 2025-04-27 |
2692889 | 함수의 구조체 인자로 받아서 그 인자로 데이터 넣기... | 한뎃집 | 2025-04-27 |
2692862 | 성적 출력 하는 프로그램인데요~!!!도움좀 주세욤.ㅠ | 두빛나래 | 2025-04-26 |
2692831 | if 문 간단해요 빨리좀 ㅠㅠ | 이플 | 2025-04-26 |
2692805 | 실행파일이 이상해요 | 푸헷 | 2025-04-26 |
2692750 | 퀵정렬 질문이요 . | 동생몬 | 2025-04-25 |
2692700 | 이 소스코드에 문제 있나요?? (2) | 초코초코해 | 2025-04-25 |
2692596 | 오류좀 잡아주세요 | 하나 | 2025-04-24 |
2692510 | 함수형 중에서.. (6) | 한란 | 2025-04-23 |
2692483 | C언어 함수, Header | 떠나간그놈 | 2025-04-23 |