inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문제로 배우는 C언어

A를 #으로

배열을 선언할때 맨 처음에 int형으로 선언했었습니다.

938

이창진

작성한 질문수 3

0

그랬더니 A를 하나만 입력했을떄는 #으로 잘 바뀌었는데

단어로 입력했을때는 바뀌지 않았습니다. 그러다가 강의를 보고 CHAR로 선언하니까 잘 바뀌게 되었는데 차이점이 자료형의 크기가 다른 거 말고 또 있나요??

c

답변 1

1

김태원

int 형 배열은 숫자(정수) 여러개를 넣도록 되어있는 4byte 짜리 정수형 변수의 나열입니다. 이곳에 문자열을 넣을 수 없습니다. 문자열은 char형 배열인 1byte짜리 문자형 변수의 나열에 넣어야 합니다.

문자 한개는 int 형 변수에 넣어도 되지만, 문자열는 1byte 단위로 관리되는 컴파일러의 메모리 관리 내부 규정이 아닐까 생각됩니다. 실제로 int a[10] 잡고, a배열에 %s 로 AbcdEfghStuv 를 입력하고 %c 로 a[0], a[1], a[2]를 출력하면 A, E, S가 출력됩니다. 

참고로 int a[10]="abcde"; 하면 에러가 납니다. %s로 int 배열에 입력해서 %s로 출력하면 정상적으로 출력되는 현상에 데에서는 저도 잘 모르겠네요.

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

0

143

2

i 값 초기화 질문

0

70

2

recipe for targe 'AA.exe' failed

0

63

1

30과 10의 xor

0

193

1

커리큘럼 문의 드립니다

0

232

1

for문에서 sum 관련 질문

0

180

1

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

0

253

2

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

0

303

1

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

0

257

1

24. 최솟값 구하기

0

333

1

질문 있습니다.

0

325

1

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

1

666

1

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

0

291

1

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

0

423

1

42번 bus error;;;

0

612

1

정수형 배열에서 배열 크기

0

395

1

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

0

303

1

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

0

280

1

1차원 배열에서

0

270

1

지수연산에서

0

300

1

7.연필 개수 문제

0

381

1

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

0

847

1

섹션 6. 소수

0

323

1

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

0

244

1