안녕하세요 도미닉입니다. 콜 바이 벨류, 콜 바이 레퍼런스 많이 들어보셨을 겁니다. 스위프트에서 inout 을 활용하여 포인터에 직접 접근할 수 있습니다. 위에 소스는 inout 을 통해 직접 포인터에 접근하여 두 변수의 값을 바꾸는 예제입니다. 함수에서 서로 값이 바뀐다면 그 값은 복사되어 사용된 값이므로 원본에는 영향을 주지 않습니다. 스위프트에서는 함수에 매개변수로 들어온 값을 수정할 수 조차 없습니다. 위와 같이 inout 을 통해 매개변수에 접근한다면 조금 더 효율적인 프로그래밍이 가능합니다. 직접 포인터에 접근하는 것은 자유도가 있지만 예상치 못하게 원본에 대한 수정이나 훼손이 가능하므로 주의하여야 합니다. 조금 더 안전한 메소드는 아래와 같습니다. 이상으로 inout 에 대해서 알아봤습니다...
포인터변수를 사용하여 다음 배열의 값들을 거꾸로 출력하는 프로그램을 작성합니다. double ary[]={1.5, 20.1, 16.4, 2.3, 3.5}; 프로그램을 실행하면 다음과 같이 수행될 것입니다. 3.5 2.3 16.4 20.1 1.5 - 소스 #include int main(){double ary[] = {1.5, 20.1, 16.4, 2.3, 3.5};double *ap=ary;int i; for(i=0;i
다음 배열의 평균값을 구하여 출력하는 프로그램을 작성합니다. 단, 배열요소를 참조할 때는 배열명에 정수값을 더하는 포인터표현을 사용하며, 평균은 소수점 이하 둘째자리까지 출력합니다. double ary[] = {1.5, 20.1, 16.4, 2.3, 3.5}; 프로그램을 실행하면 다음과 같이 수행될 것입니다. 평균값 : 8.76 - 소스 #include int main(){int i;double ary[] = {1.5, 20.1, 16.4, 2.3, 3.5};double sum=0;double ave; for(i=0;i
키보드로부터 임의의 숫자 세 개를 입력 받은 후에 큰 숫자부터 차례로 출력하는 프로그램을 작성합니다. 단, main 함수가 다음과 같이 작성되어 있을 때 line_up 함수를 정의하여 프로그램을 완성합니다. 필요하다면 exchange 함수도 작성하여 사용합시다. int main(){double max, mid, min; printf("숫자 세 개를 입력하세요 : ");scanf("%lf%lf%lf", &max, &mid, &min); line_up(&max, &mid, &min);printf("큰 수부터 차례로 출력하면 : %lf, %lf, %lf\n", max, mid, min);return 0; } 프로그램을 실행하면 다음과 같이 수행될 것입니다. 숫자 세 개를 입력하세요 : 3.4 0.45 6.07..
두 개의 double형 변수 a, b에 다음과 같이 값이 저장되어 있다고 합시다. dobule a = 1.3;double b = 1.7; 두 변수 a, b를 가리키는 포인터변수를 사용하여 두 변수의 값을 바꾸는 프로그램을 작성합니다(두 변수의 값을 바꾸는 방법은 연습문제 [9-2]의 ③번을 참고하세요). 프로그램을 실행하면 다음과 같이 수행될 것입니다. 바꾸기 전의 a, b의 값 : 1.3, 1.7바꾼 후의 a, b의 값 : 1.7, 1.3 - 소스 #include int main(){double a = 1.3;double b = 1.7;double temp; double *ap = &a;double *bp = &b; printf("바꾸기 전의 a, b의 값 : %.1lf, %.1lf\n", a, b);..
- Total
- Today
- Yesterday
- 형용사
- 뇌를 자극하는 C 프로그래밍
- 프로그래밍
- MySQL
- 리눅스
- 단어
- database
- 반복문
- 왕초보 영단어1
- Apple
- exercise
- terascan
- 테라스캔
- 뇌를 자극하는 C프로그래밍
- IOS
- Swift
- 영어
- 스위프트
- 연습문제
- Matlab
- 매트랩
- C
- 데이터베이스
- 애플
- 프로그램
- 함수
- 포인터
- Xcode
- 배열
- 시원스쿨
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |