아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
통쾌한바다표범185
통쾌한바다표범18522.01.18

C언어 질문 드려도 되겠습니까?

Int a =0;

Int a;

저거 두개 차이가 대체 뭔가요?

Int a=0; 이거는 정수 a를 0으로 보낸다?

Int a; 이것또 정수 a를 0으로 보낸다?

55글자 더 채워주세요.
답변의 개수6개의 답변이 있어요!
  • 안녕하세요. 다정한가오리33입니다.

    int a=0; 은 a에 0을 할당한다는 뜻입니다.

    int a;는 a에 아무값도 넣지 않아 쓰레기 값이라고 불리는 값이 무작위로 들어가 있습니다.

    이에 따라 printf를 하여 출력하여 보면 a=0으로 값을 대입시켜 준 곳에서는 0으로 출력이 되지만, a에서는 오류가 나거나 원치 않는 값이 출력될 것입니다.

    감사합니다.


  • 안녕하세요. 세심한딱새285입니다.

    int a=0;

    : a라는 변수를 만들었고, a라는 변수 박스 안에 0이라는 정수(int)값을 대입한 것입니다. (변수 a를 프린트하면 당연히 0이 출력되겠죠.)

    int a;

    : 단순 정수형(int) a라는 이름의 변수를 만들었을 뿐입니다. 이 a라는 박스에 정수값을 언제든지 대입할 수 있습니다. (가령 사용자로부터 정수값을 입력받을 때 입력받은 정수값을 a에다가 저장하는 거죠.)


  • 위에 것은 변수 a를 설정한 후 초기값을 0으로 지정해 주는 것입니다.

    아래 것은 변수 a를 설정만 하고 초기값을 지정해 주지 않은 것입니다.

    아래 경우는 저 변수 a 안에 무엇이 들어 있는지 알수가 없습니다.

    대다수의 컴파일러 프로그램들이 정수형 변수를 지정만 하면 자동적으로 0을 지정해 주게 만들어 놓은 것도 있지만 그렇지 않은 것들도 있기 때문에 이런 경우 무작위의 값이 변수 안에 들어가 있으므로 그대로 사용하면 예기치 않은 결과가 나올 수 있습니다.

    그래서 프로그래밍의 기본 사항으로 변수를 설정한 후에는 반드시 초기값을 프로그래머가 지정해 주는 습관을 들여야 한다는 규율 같은 것이 있죠.


  • 안녕하세요. 퇴근하고싶당입니다.

    int a=0; 은 Integer 형식의 변수 a를 선언하고 a라는 변수에 값을 0을 할당하는 것이고

    int a; 는 Integer 형식의 a라는 변수를 선언만 하는 경우입니다.

    int a=0; 를 작성 후 printf("%d",a); 를 했을경우 0 이라는 값이 나오고

    int a; 를 작성 후print("%d",a); 를 했을경우 임의의 쓰레기값이 표시됩니다.

    int a=0;

    int a;

    를 같은 함수에서 작성시 변수 a가 이미 선언되어있어 에러가 발생합니다.


  • 안녕하세요. 꾸준한하마55입니다.

    대충 아래처럼 이해하고 있습니다.

    int a =0; // a를 정수형으로 선언 하면서 값을 0으로 초기화 합니다.

    int a; // a를 정수형으로 선언만 합니다.

    컴파일러 툴에 따라서 초기화 해주지 않으면 가비지 값이라고 쓰레기 값이 들어가는 경우도 있기때문에

    초기화 까지 해주는 편이 맞을 겁니다.


  • int a = 0;

    a라는 변수를 선언(메모리에 할당)하고 0으로 초기화 한다는 의미입니다.

    int a;

    a라는 변수를 선언하고 메모리에 할당합니다.

    컴파일 조건에 따르지만 보통 이런 경우는 a는 쓰레기값이 들어가 있습니다.