728x90 C11 [C/개념, 이해]const 포인터 C언어 ▶const : 상수 선언 ▶사용 예시 (1) const int *p; 가리키는 값 고정 #include int main() { int a = 10, b = 20; const int *p = &a; //포인터 p가 가리키는 값(a) 고정 *p = 20; //(X) //a값을 바꾸려하기 때문에 안됨 p = &b; //(O) //p의 주소만 바뀌어 가능 return 0; } (2) int *const p; 가리키는 주소 고정 #include int main() { int a = 10, b = 20; int *const p = &a; //포인터 p가 가리키는 주소(&a) 고정 *p = 20; //(O) //a값이 바뀌어 가능 p = &b; //(X) //p의 주소값을 바꾸려하기 때문에 안됨 return 0; .. 2021. 11. 18. [C/개념, 이해]volatile 변수 C언어 ▶volatile : 컴파일러는 변수를 최적화에서 제외함 volatile 변수 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) volatile 변수 - 위키백과, 우리 모두의 백과사전 C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화 ko.wikipedia.org ▶예제 #include int main() { const int num = 10;//상수 int* p; p = (int*)#//int형 변환 *p = 20; printf("%d", num); return 0; } 결과 : 10 #include int main() { volatile c.. 2021. 11. 18. [C/개념, 이해]비트연산자와 사용예시 C언어 ▶비트연산자 > : 2의 배수만큼 옆으로 이동 (비교,대입) & : 둘다 1이면 1 나머지 0 (비교,대입) | : 둘중 1이 하나라도 있으면 1 없으면 0 (비교,대입) ^ : 같으면 0 다르면 1 (비교,대입) ~ : 1은 0으로 0은 1로 (대입) ▶사용 예시 #include #define BUFF 1 //2진수로 나타내기 위해 2의 제곱수 , 16진수 : 0x1 #define POISON 2 //16진수 : 0x2 #define FIRE 4 //0x4 #define HUNGRY 8 //0x8 #define COLD 16 //0x10 // #define COLD 32 //0x20 // #define COLD 64 //0x40 // #define COLD 0x80 // #define COLD 0x10.. 2021. 11. 18. 이전 1 2 3 다음 728x90