일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 영상처리
- 컴퓨터 비전
- pytorch
- 딥러닝 공부
- c언어
- c++
- tensorflow 예제
- 파이토치 강의 정리
- 케라스 정리
- MFC 프로그래밍
- 해리스 코너 검출
- 파이토치 김성훈 교수님 강의 정리
- 미디언 필터링
- object detection
- 딥러닝
- TensorFlow
- pytorch zero to all
- 딥러닝 스터디
- 가우시안 필터링
- 모두의 딥러닝
- 모두의 딥러닝 예제
- Pytorch Lecture
- 골빈해커
- c++공부
- 김성훈 교수님 PyTorch
- c언어 정리
- matlab 영상처리
- 파이토치
- 팀프로젝트
- C언어 공부
- Today
- Total
ComputerVision Jack
[C프로그래밍 Chapter11] 본문
[함수 인자 배열 전달]
함수의 인자 전달 방법 : 복사
함수호출 시 전달되는 인자의 값은 매개 변수에 복사된다.
실제로 전달되는 것은 던져주는 매개 변수가 아닌, 매개변수에 저장된 값이다.
매개변수로 배열을 선언할 수 없다.
배열을 넘겨 받으려면 배열의 주소 값을 전달 받아야 한다.
배열을 함수 인자로 전달하는 방법
포인터 변수를 사용하여 매개 변수로 던져준다.
void ShowArayElem (int * param, int len) { ..... }
void ShowArayElem(int param[], int len) { ........}
[Call-by-value & Call-by-reference]
call-by-value : 함수 호출시 단순히 값 전달
call-by-reference : 메모리 접근에 사용되는 주소 값 전달
void Swap(int num1, int num2){
int tmp = num1;
num1 = num2;
num2 = tmp;
}
#call-by-value로 구현한 swap함수. 함수내에선 값이 변경되지만, 함수를 탈출하면 값이 변경되지 않는다.
void Swap(int * num1, int * num2){
int tmp = *num1;
*num1 = num2;
*num2 = tmp;
}
#call-by-reference구현, 함수내에서 조작이 이루어지면 함수를 탈출해도 값이 변경된다.
scanf_s함수 호출시 &연산자를 붙이는 이유. 주소를 참조해 값을 대입하기 위함.
[포인터 대상의 const선언]
const선언은 포인터 변수 대상으로 선언가능하다.
const int * ptr = & num;
#포인터 변수 ptr을 이용해서 ptr이 가리키는 변수에 저장된 값을 변경하는 것을 허용하지 않겠다.
'Programming Language > C Programming' 카테고리의 다른 글
[C프로그래밍 Chapter13] (1) | 2020.02.03 |
---|---|
[C프로그래밍 Chapter12] (0) | 2020.02.01 |
[C프로그래밍 Chapter10] (0) | 2020.01.31 |
[C프로그래밍 Chapter9] (0) | 2020.01.30 |
[C프로그래밍 Chapter8] (0) | 2020.01.30 |