728x90
반응형
1.범위기반 for문을 사용하여 이차원 배열을 출력해보세요.
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <iostream>
#include<string>
using namespace std;
int main() {
int arr[2][3] = { {1,2,3},{4,5,6} };
}
|
cs |
답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
#include<string>
using namespace std;
int main() {
int arr[2][3] = { {1,2,3},{4,5,6} };
for(int(&ln)[3]:arr){
for(int &col:ln){
cout<<col<<' ';
}
cout<<endl;
}
}
|
cs |
11번째 줄에 for(int(&ln)[3]:arr){ <-- 이 코드가 배열포인터에서 이중 for문 돌리는걸 레퍼런스 변수를 사용한 것이라 볼 수 있다.
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
|
#include <iostream>
#include<string>
using namespace std;
int main() {
int arr[2][3] = { {1,2,3},{4,5,6} };
for(int(&ln)[3]:arr){
for(int &col:ln){
cout<<col<<' ';
}
cout<<endl;
}
for(int(*ln)[3]=arr;ln<arr+2;ln++){
for(int *col=*ln;col<*ln;col++){
cout<<col<<' ';
}
cout<<endl;
}
}
|
cs |
12번째 줄에
for(int &col:ln){
여기서 왜 *ln을 써주지 않는가하는 궁금증이 생길 수 있는데, 이는 레퍼런스변수는 별표를 사용하지 않아도 레퍼런스 변수 자체가 가리키는 대상이기 때문이다.
728x90
반응형
'C++ > 기초(두들낙서)' 카테고리의 다른 글
[C++기초] this 포인터 ,객체의 생성과 소멸,생성자와 소멸자 (0) | 2022.01.12 |
---|---|
[C++기초] 클래스 개념소개,접근제어 지시자,구조체와 클래스의 차이점 (0) | 2022.01.12 |
[C++기초] 네임스페이스 (0) | 2022.01.12 |
[C++기초] 오버로딩,디폴트 매개변수 (0) | 2022.01.12 |
[C++기초] 레퍼런스 변수 (0) | 2022.01.11 |
댓글