내장형 하드웨어/C언어

심블 테이블 (symbol table), while문, 디버깅,

동화다아아 2011. 4. 7. 17:27

int number;

int sum;

심블 테이블(symbol table)  - 주소기반(숫자)

type

name

address

실제주소

int

long

number

sum

&변수명

&변수명

0x0012FF7C

0x0012FF78


BIOS(Basic Input Output System)
→ 바이오스가 윈도우를 호출한다.
→ 바이오스 안에는 폰트가 들어있다.


//제어변수 number를 키보드로부터 입력받아 초기화 한다.

#include<stdio.h>

int main()

{

        int number;

        long sum = 0;

        printf("Please enter an integer <0 to quit> : ");

        scanf("%d", &number);

        while(number != 0)

        {

                sum = sum+number;// 참조확인

                printf("Please enter an integer <0 to quit> : ");

                scanf("%d",&number);

        }

        printf("The sum of nubers is %ld.\n",sum);

        return 0;

}

⇒ sum=sum+number++; 는 좋은 코드가 아니다.

① sum=sum+number;

② number=number+1;

의 순서로 진행한다는 뜻과 같은데, ++(단항연산자)가 우선순위가 가장 높지만 number++는 후치 연산자이므로 sum 수식 다음에 number의 증가가 발생한다.


컴파일(F5) 을 통한 단계별 (F11, F10) 변수값, 메모리에서의 변수 확인
 → 메모리 창에 ?? 부분은 접근해서는 안되는 영역(시스템이나 기타 여러 부분)들이다.
 → 디버그 살 때 모니터링을 정확하게 하기 위해 watch 창에 변수를 집어 넣는 것이 낫다.



getchar → 표준함수
getch() → 비표준함수(<conio.h>를 불러와야 하며 윈도우에서만 지원된다.)
→ getch는 키보드를 누르는 순간 입력이 들어간다. 즉, 버퍼를 사용하지 않는다.
버퍼 → 임시기억장소