결과값이 다른 이유..?
슬현
2023.04.01
질문 제목 : 결과값이 다른 이유이 함수문에서 결과값이 다른 이유를 모르겠어요.질문 내용 :
#include stdio.h
// 함수선언
void increa(int n);
int increb(int n);
int main(void)
{
int n=1;
increa(n);
printf(n : %d\n, n);
n = 1;
n=increb(n);
printf(n : %d\n, n);
return 0;
}
void increa(int n)
{
n = n + 1;
}
int increb(int n)
{
n = n + 1;
return n;
}
-
은별
포인터공부를 하면 왜 안되는지 알수 있구요. 지금 포인터를 모르는 상황에서 이해를 하려면요...
main 함수에서 n 이랑 increA함수에서 n이랑 increB에서 n이랑 다 다른 n이라서 원하는데로 출력되지 않는다 라고 생각하는게 좋겠네요. -
터큰
일반적으로 함수에서 변수를 인자를 넣으면, 변수가 직접 처리되지 않고
변수의 값이 복사되어서 처리됩니다. (함수에서 처리된 값은 복사되었기 때문에 반영되지 않습니다.)
변수를 직접 수정하고 싶으면, 포인터를 이용하시면 됩니다.
포인터를 사용하면 변수의 값을 직접 조작할 수 있습니다.
void increA(int n); -- void increA(int *n);
increA(n); -- increA(&n);
void increA(int n)
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |