<첫번째 질문> for문에서 변수의 초기값을 생성하지 않아도 될까요? 실행은 되긴 하지만 안 된다는 글을 본 기억이 있어서 잘 모르겠어요 ㅠㅠ 예를 들어 ``` int i; for( i; i<=9; i++) // 이런식으로 i의 초기값을 안 쓰면 안 되는 건 가요? ``` <두번째 질문> 변수를 선언한 후 값을 지정하지 않으면 그 변수에는 어떤 값이 들어있나요? 예를 들어 ``` int sum; // 변수 값을 지정하지 않은 상태에서 sum이라는 변수 안 에 어떤 값이 들어있나요? ``` (저는 실행하면서 1이 들어가 있었는데 어떤 경우는 안 그러고...) 쓰레기값이 들어 있는 걸까요? <세번째 질문> ``` void f() { printf("%d", 123); <------- 이부분에서 printf("%d", 123);랑 printf("123");가 둘 다 123으로 출력되는데 왜 printf("%d", 123);를 사용하나요? return; } ``` <네번째 질문> ``` char a[ ] = "candy"; // 이떄는 큰따옴표(")를 사용하고 while(a == 'candy') // 이때는 작은따옴표(')를 사용하는 것 같습니다. ``` 어떨때 작은 따옴표를 쓰고 어떨때 큰 따옴표를 쓰는건 가요? --------------------------------------------------------------------------------------------------------- 공부하다 보니 사소한 궁금증이 생겨서 이렇게 물어봅니다. 질문이 너무 많은 듯 하네요... 항상 잘 이해되게 설명해주셔서 늘 감사합니다. 더 열심히 하겠습니다 ㅎㅎ 감사합니다!
# 01, 02 초기값 관련 답변 언어에 따라 변수의 초기값은, 고정 값 또는 쓰레기 값일 수도 있습니다. 따라서, *반드시 초기값을 설정하셔야 합니다.* # 03 printf() 관련 답변 `printf()` 메소드는 기본적으로 결과 값을 문자열로 변환하여 출력합니다. 따라서, 아래 코드의 결과는 같습니다. ``` int num = 123; char* str = "123"; printf("%d", num); // 정수 123을 문자열로 변환 출력 => "123" printf("%d", str); // 문자열 "123"을 그대로 출력 => "123" ``` 차이는, 출력 되기 이전 값을 컴퓨터가 무엇으로 인식하느냐입니다. # 04 큰 따옴표 vs 작은 따옴표 C언어에서, 큰 따옴표의 경우 *문자열*을, 작은 따옴표의 경우 *단일 문자*를 나타냅니다.