인프런 커뮤니티 질문&답변

동환님의 프로필 이미지
동환

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

교안 질문 드립니다!

작성

·

56

0

교안 질문 드립니다!

Fill()파트를 공부 하다가

#include <bits/stdc++.h>

using namespace std;

int b[10][10];

int main(){

int *ptr = &b[0][0];

int size = 10 * 10;

for(int i = 0; i < size; ++i) {

*(ptr + i) = 1;

}

for(int i = 0; i < 10; i++){

for(int j = 0; j < 10; j++){

cout << b[0][0] << " ";

}

cout << "\n";

}

return 0;

}

이 코드에서 궁금한것이 생겼습니다. 원래대로라면 b[i][j]가 맞을것 같은대 신기하게도 이 코드를 출력 해도 1이 100번 출력이 되어서 이 부분이 궁금합니다.

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 동환님 ㅎㅎ

for(int j = 0; j < 10; j++){

cout << b[0][0] << " ";

지금 보시면 0, 0 인덱스에 해당하는 것을 출력하고 있는데요. 이부분은 그 전에 1로 초기화를 했기 때문에 1이 출력되는 것은 당연합니다.

혹시 어떤 부분이 궁금하신가요?

 

감사합니다.

동환님의 프로필 이미지
동환
질문자

1이 출력되는것은 이해가 가는대 b[0][0]을 출력하는대 왜 1이 한번이 아닌 100번이 출력이 되는지가 궁금합니다

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

2중 for문으로 여러번 출력하게 만드니 -> 100번 출력되는 것입니다.

동환님의 프로필 이미지
동환

작성한 질문수

질문하기