본문 바로가기

변수2

[C언어] * 연산자와 [ ] 연산자 : 포인터를 대상으로 사용할 수 있는 연산자 앞에서 말한 바와 같이 포인터 변수와 함께 배열명이 포인터로 사용된다. 단 그 둘의 차이점은 변수로 사용되느냐 상수로 사용되느냐였다. 보통 요소의 순서를 나타낼 때 사용하는 [ ]연산자, 포인터를 선언하거나 어떤 메모리에 접근할 때 사용하는 * 연산자로 익숙하지만, 우리가 알고 있는 포인터 외에 배열에서 배열의 이름으로 쓰이고 있는 배열명도 동일하게 포인터(어느 메모리를 가리킨다)로서 기능을 하기 때문에, 포인터나 배열명이나 둘 다 포인터를 피연산자로 하는 * 연산자와 [ ] 연산자를 사용할 수 있다. 다시 정리를 하자면, 포인터는 가리키고 있는 대상의 주소값을 가지고 있지만, 그 뿐 아니라 대상에 대한 (메모리에 접근하는 방식을 결정할) 자료형에 대한 정보까지 같이 가지고 있어야 포인터라고 할 수 있다. 2020. 8. 14.
[C언어] 포인터가 가리키는 메모리를 참조하는 * 연산자 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include int main(void) { int num1 = 100, num2 = 100; // 변수 num1과 num2를 선언하고 각각 100으로 초기화 int * ptr; // 포인터 변수 ptr을 선언 ptr = &num1; // 포인터 ptr이 num1을 가리키게 함 (*ptr) += 20; // num1 += 20 과 동일 ptr = &num2; // 포인터 ptr이 num2를 가리키게 함 (*ptr) -= 20; // num2 -= 20과 동일 return 0; } Colored by Color Scripter cs 이 소스코드에서 num1은 100에서 20이 증가된 120으로 다시 저장되고, num2는.. 2020. 8. 10.