...
C언어 포인터 이해하기
다음과 같이 포인터를 정의할때 배열원소 2를 표현 하는 방법은 다음과 같다.
int a[5] = {1,2,3,4,5};
int *arr = a;
구조체 포인터 표현 방법
struct person
{
int age;
char name[10];
};
struct person *arr, pe[3]={{10,"jack"},{20,"Poul"},{30,"Jim"}};
arr = pe;
예를 들어 원소 20에 대한 표현은 총 3가지로 가능하다.
arr[1].age(*(arr+1)).age(arr+1)->age
포인터 증감 연산자 종류
int a = 1;
int *p = &a; //a주소는 1000이라 가정
*p + 1
// → a + 1 = 1 + 1 = 2
*(p + 1)
// → &a + 1 = 1000 + 4(int형 포인터니까 4byte씩 늘어남) = 1004번지값
*p++
// → &a++ 먼저해서 1004되고 주소가리킴 = 1004번지 값
(*p)++
// → (&a)++ = 1++ = 2
[연산자 우선순위]
++, -- > 간접연산자 * > +, -
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.