memset함수가  바이트 단위로 값을 초기화시켜주는 함수라고 알고 있는데
memset에 첫번쨰 인자에 arr을 전달하고 2번쨰에 0 그리고 3번쨰에
4바이트만 할당하게 하고 난 뒤에  for문으로 출력해보면
첫번째 값만 0으로 되고 나머지는 다 쓰레기값으로 출력되서
제데로 나옵니다.
그리고 2번쨰값을 -1로 해도 첫번쨰만 -1로 나오고 다 제데로 나옵니다.
그런데 0과 -1을 제외한 다른 모든정수값들은 다 주소값으로 표시가 되는건지
%d 십진수 형식으로 출력해봤을떄 memset(arr,40,sizeof(arr)/sizeof(int))
원하는 값value로 채워지지가 않는데 이유좀 알려주실분 있으신가요?

 

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#include<stdio.h>


int main(void)
{
 int arr[5];
 int i;

 memset (arr, 0, sizeof(arr)/sizeof(int));
 
 for(i=0 ; i<5 ; i++)
 {
  printf("%d ",arr[i]);
 }
 
}