๋ณ์์ ์์ญ ¶
์ ์ญ ๋ณ์ - ํด๋น ํ์ผ ๋ด์์ ์ ํจํจ (์ธ๋ถ ์ฐธ์กฐ ๊ฐ๋ฅ), BSS ์ธ๊ทธ๋จผํธ์ ๊ณต๊ฐ ์ฌ์ฉ
์ง์ญ ๋ณ์ - ํด๋น ๋ธ๋ญ ๋ด์์ ์ ํจํจ
static ์ ์ญ ๋ณ์ - ํด๋น ํ์ผ ๋ด์์ ์ ํจํจ (์ธ๋ถ ์ฐธ์กฐ ๋ถ๊ฐ๋ฅ)
์ง์ญ ๋ณ์ - ํด๋น ๋ธ๋ญ ๋ด์์ ์ ํจํจ
static ์ ์ญ ๋ณ์ - ํด๋น ํ์ผ ๋ด์์ ์ ํจํจ (์ธ๋ถ ์ฐธ์กฐ ๋ถ๊ฐ๋ฅ)
๋ณ์์ ๊ธฐ์ต ๋ถ๋ฅ ์ง์ ¶
๋ณ์์ ๊ธฐ์ต ์ฅ์ ์ ํ
register - CPU ๋ ์ง์คํฐ๋ฅผ ๋ณ์๋ก ํ ๋น
auto - ์คํ ๊ณต๊ฐ์ ๋ณ์๋ก ํ ๋น
static - BSS ์ธ๊ทธ๋จผํธ์ ๊ณต๊ฐ์ ๋ณ์๋ก ํ ๋น
extern - ์ธ๋ถ ๋ณ์ ์ฐธ์กฐ
auto - ์คํ ๊ณต๊ฐ์ ๋ณ์๋ก ํ ๋น
static - BSS ์ธ๊ทธ๋จผํธ์ ๊ณต๊ฐ์ ๋ณ์๋ก ํ ๋น
extern - ์ธ๋ถ ๋ณ์ ์ฐธ์กฐ
const ํค์๋ ¶
~cpp const int a; int const b; const int *c; int * const d; const int * const e;
volatile ํค์๋ ¶
~cpp #include <stdio.h> #include <time.h> void main() { clock_t start, finish; double duration; start = clock(); volatile int a = 10, b = 20, c; for(int i = 0 ; i < 1000000000 ; i++) c = a * b; finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; printf("%2.1f seconds\n", duration); }