C언어 사용시 입력 받는 변수가 아니라면 모두 따로 0이라던지 1,NULL등으로 초기화하는 것이 필수적이다.
처음에 변수를 선언할 때 초기화하는 것은 중요한 것이다. 초기화하지 않으면 쓰레값이 들어가기 때문이다.
(변수 선언 시에 이전에 사용한 메모리로 인해 아무런 의미 없는 값들이 들어가 있을 수 있다.)
변수를 선언할 때에온라인 에디터 등에서는 따로 변수를 초기화 할 필요는 없다.
잠깐 쓰는 GDB(온라인 에디터)와 같은 경우 처음에 변수를 초기화하지 않아도 코드를 실행할 수 있다.
하지만 Visual Studio 2022 등에서는 입력받을 변수가 아닐 때 따로 초기화하지 않으면 변수를 초기화하지 않았다며 코드가 실행하지 않는다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n,sum;
char str[1000];
scanf("%d", &n);
scanf("%s", str);
for(int i=0; i<n; i++){
sum+=(str[i]-48);
}
printf("%d", sum);
}
//error, 지역 변수가 초기화되지 않았습니다.
변수를 매우 많이 선언해야 할 경우 따로 모두 초기화하는 것은 보기 좋지 않기도 하다.
이를 해결하기 위해 main 함수 밖에 변수를 선언한다면 전역변수로 선언, 자동으로 초기화가 되기 때문에 이는 매우 유용하다.
대규모 프로젝트와 같은 일의 경우 메모리를 매우 많이 잡아먹기에 문제가 될 수 있지만 코딩 대회에서의 문제 해결 등과 같은 빠르게 문제를 해결해야하거나 백준 문제를 간단히 푸는 등의 일에는 사용하기에 좋다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int n,sum;
char str[1000];
int main()
{
scanf("%d", &n);
scanf("%s", str);
for(int i=0; i<n; i++){
sum+=(str[i]-48);
}
printf("%d", sum);
}
'coding Tips & Tricks > C\C++' 카테고리의 다른 글
C/C++) Visual Studio 중단점 사용하기 (0) | 2024.12.06 |
---|---|
C/C++) #include<[ ].h> #include<[ ]> 차이는? (1) | 2024.12.03 |