2011. 2. 26. 22:19

win7 운영체제를 깔고난 이후, 자리를 비웠다 오면 자주 자동 재부팅이 일어났다.
고민하던 중, 방법을 찾게 되었다.


1)예약된 자동업데이트 시 자동재부팅 기능 설정안함 

 window키 + R 을 눌러 실행 창을 뜨게 한다.
 gpedit.msc 를 입력한다.


로컬 그룹 정책 편집기에서
[컴퓨터구성]-[관리템플릿]-[windows구성요소]-[windows update]로 들어가
예약된 자동 업데이트 설치 시 로그인한 사용자로 자동 다시시작 안함을 더블릭하여 사용으로 바꿔준다.

사용으로 바꾸고 확인을 눌러주면 OK



2)오류시 자동 재부팅 기능 해제
내컴퓨터-속성-관리-고급시스템설정-고급에 들어간다.

시작 및 복구에서 설정을 클릭해 준후, 시스템 오류시 자동으로 다시 시작 체크박스를 해지해 준다.

Posted by Triany
2011. 2. 26. 20:23
1) 포인터가 가리키는 변수의 상수화

  int a = 10;
  const int*p = &a;
  *p = 30; //error!!
  a = 30; //ok
포인터 p가 가리키는 변수를 상수화 하겠다는 뜻. 즉 포인터 p가 가리키는 변수의 값을 못 바꾸게 하겠다는 뜻이다.
포인터 p를 통해서 변수 a의 값을 변경하는 것만 막는 것.


2)포인터 상수화
  int a = 10;
  int b = 20;
  int* const p = &a;
  p = &b; //error
  *p = 30; //ok
포인터 자체가 상수화 된것. 즉 포인터 p가 지니는 주소값을 변경할 수 없다는 뜻이다.


3)포인터 상수화 + 포인터가 가리키는 데이터도 상수화
  int a = 10;
  int b = 20;
   const int* const p = &a;
  p = &b; //error
  *p = 30; //error
Posted by Triany
2011. 2. 26. 20:17

 #include <stdio.h>
int main(void){
    int val;
    scanf("%d", &val);
    return 0;
}
scanf 함수는 내부적으로 사용자로부터 정수를 입력받은 다음, 변수 val에 접근해서 대입해야 한다.
이렇게 scanf함수 내에서 main 함수에서 선언된 지역 변수에 접근하기 위해서는 해당 변수의 주소를 알아야 한다. 그래서 scanf함수를 호출하면서 값이 채워질 지역 변수 val의 주소 값을 인자로 전달하고 있는것이다. 결국 Call-By-Reference에 해당한다.



char형의 배열로 문자열을 입력받을 때는 왜 &연산자를 붙여주지 않는 것일까?
 #include <stdio.h>
int main(void){
    char str[100];
    printf("문자열 입력 :");

    scanf("%s", str);
    return 0;
}
위 코드에서 배열 이름 str은 배열의 주소를 나타낸다. 그러므로 &연산을 할 필요가 없는 것이다.

'Language > C언어' 카테고리의 다른 글

배열포인터  (0) 2011.02.27
포인터와 const키워드  (0) 2011.02.26
배열을 함수 인자로 전달받는 방법  (0) 2011.02.26
문자열 배열  (0) 2011.02.26
메모리 동적 할당 _ 1] malloc 함수 - free 함수 - calloc 함수  (0) 2010.09.28
Posted by Triany