#include <stdio.h>
int main ()
{
int iCnt;
for (iCnt=1;iCnt<=9;iCnt=iCnt+1).
{
printf("%d*%d=%d \n",3,iCnt,3*iCnt);
}
return 0;
}
3단 소스
타입은 int이며 메모리는 4바이트공간 이름은 iCnt이다.
fot 지연용 반복문 ,iCnt는 첫번째를1 로 지정하고 이고 9보다 작고 1씩 더하는걸 반복한다.해준다
나온값
E:\L송찬호V\C언어\20160308>main
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
#include <stdio.h>
int main()
{
volatile int iCnt;// //int iCnt
for(;;)//while(1)//무한반복
{
for(iCnt=0;1000000>iCnt;iCnt=iCnt+1)//cpu에서 같은일 을 반복하는 것보다 결과값을 바로 넣어 간다.
{}
printf("test\n");
}
return 0;
}
int iCnt 로 했을때 메모리에서 저장한 값을 cpu에서 받아 +1을 하고 메모리에 +1한 값이 저장 test로 출력 또 메모리에서 받아 +1하는 과정을
무한 반복 하는 과정이다.
volatile
볼로타입 휘발성
volatile은 이런 최적화를 하지않게 선언해서, CPU가 "매 값마다" 참/거짓을 판별, 연산하고
메모리에 저장하고 가져오는 과정을 반복하게 한다. test 출력 속도가 빨라진다.
#include <stdio.h>
union smart //
{
int A;
short B;
int C;
char D;
};
int main()
{
union smart obj;
obj.A=0x12345678;
printf("size : %d\n",sizeof(union smart));
printf("%x\n",obj.A);
printf("%x\n",obj.B);
printf("%x\n",obj.C);
printf("%x\n",obj.D);
return 0;
}
유니언
변용체, 유니언은 메모리에 들어간 수 만큼 사이즈가 커진다.
이 타입은 메모리 사이즈가 타입의 크기가 아닌 타입이 들어간순 으로 크기를 나타낸다.
size : 4
12345678
5678
12345678
78
A 의 12345678 컴퓨터는 뒤 집어서 계산해서한다. 나온다.
1바이트는 두게씩나온다.
int는 4바이트므로 8개 인 12345678이나오고 short는 5678 뒤에 내게 이고 char은 1바이트므로 뒤에 78 두개만 나온다
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
06.03.10 조승현 업무일지 CPU&회로도 1/3 (1) | 2016.03.10 |
---|---|
20160309-허도경-업무일지-cpu모둘 (3) | 2016.03.10 |
20160310-오아람-업무일지-CPU 모듈 (2) | 2016.03.10 |
20160309 업무일지 이보원 cpu모듈 (1) | 2016.03.10 |
20160309_박진한_업무일지_CPU 모듈 (2) | 2016.03.10 |
20160309_김도관_업무일지_마이크로컨트롤러 (0) | 2016.03.10 |
2016.03.08 이종찬 업무일지 (4) | 2016.03.10 |
20160309_정일모_업무일지_마이크로 컨트롤러 반도체 트랜지스터 다이오드 (3) | 2016.03.10 |