inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문제로 배우는 C언어

2차원 배열 출력 2

2차원배열2

75

너무어려워

작성한 질문수 21

0

삭제된 글입니다

c

답변 1

1

김태원

scanf("%d", &n);

int array[n][n];

위의 코드 방식은 2차원 배열을 정적으로 할당한 것입니다. 컴파일러에 따라 에러가 날 수 있습니다. 원래 위 코드는 컴파일타임에 2차원배열이 메모리에 할당되는 원리입니다. 컴파일 타임에는 n값을 아직 모르기 때문에 에러가 날 수 있습니다. 

2차원 배열을 런타임에 메모리에 할당되는 동적할당을 하고 싶으면

scanf("%d", &n);
int** array=new int*[n];
for(int i=0; i<n; i++) array[i]=new int[n];

위 코드처럼 하는게 정석입니다. C++의 형태이지만 C에서도 될겁니다. 

음료수 자판기 출력이 이상하게 나옵니다

0

153

2

i 값 초기화 질문

0

79

2

recipe for targe 'AA.exe' failed

0

78

1

30과 10의 xor

0

203

1

커리큘럼 문의 드립니다

0

236

1

for문에서 sum 관련 질문

0

184

1

이렇게 풀어도 맞는걸까요?

0

262

2

이렇게 풀어도 맞는 풀이일까요?

0

307

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

270

1

24. 최솟값 구하기

0

342

1

질문 있습니다.

0

332

1

배열을 전역변수로 설정하는 이유

1

673

1

41. A를 #으로에서 질문 있습니다.

0

295

1

20번 소수 판별하기에서 질문 있습니다.

0

430

1

42번 bus error;;;

0

614

1

정수형 배열에서 배열 크기

0

401

1

38. 자리찾기 커지는 방향으로..

0

311

1

37. 배열의 회전에서 ...

0

286

1

1차원 배열에서

0

282

1

지수연산에서

0

307

1

7.연필 개수 문제

0

384

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

852

1

섹션 6. 소수

0

325

1

왜 2중for문을 두개 쓴건가요?

0

252

1