#include <stdio.h>
int main(){
int i=100;
int j= 200;
int* p;
int *q;
p = &i;
q = &j;
//p = &*&i; //이건 됨. int 변수의 주소 -> 포인트해서 다시 그 변수 -> 다시 int 변수의 주소
//p = &&*i; //이건 안됨. 포인터가 아닌거에 * 를 붙이는것임
// p = *&&i; //int 변수의 주소 -> 주소의 주소(오류) -> 포인트 해도 어딘지 모름
// i = (int)p - (int)q;//p 와 q 가 정의되어있으면 정수형으로 캐스팅해서 주소 차이만큼 i 에 저장됨
//i = (int)p;//p 가 어떤 변수를 포인트 하고 있으면 가리키고 있는 변수의 주소
// q = &p;//p 포인터의 주소
// *q = &j;//int 형에 int* 대입할려함. 오류
// i =(*&)j;//괄호 우선 연산인데 괄호 안에 연산들을 적용할 변수가 없어서 오류
// i=*&*&j; //j 의 값
//*p++변수에 *p 값 넘겨주고 p가 포인트 하는 주소의 주소값 증가
// (*p)++ 변수에 *p 값 넘겨주고 p가 포인트 하는 변수의 값이 +1
//++*p == ++(*p) 변수에 p 가 포인트 하는 변수의 값에 +1 한 후 그 값은 넘김
//*++p //p 가 포인트 하는 주소+1 하고 그 주소에 있는 값을 넘김
return 0;
}
int main(){
int i=100;
int j= 200;
int* p;
int *q;
p = &i;
q = &j;
//p = &*&i; //이건 됨. int 변수의 주소 -> 포인트해서 다시 그 변수 -> 다시 int 변수의 주소
//p = &&*i; //이건 안됨. 포인터가 아닌거에 * 를 붙이는것임
// p = *&&i; //int 변수의 주소 -> 주소의 주소(오류) -> 포인트 해도 어딘지 모름
// i = (int)p - (int)q;//p 와 q 가 정의되어있으면 정수형으로 캐스팅해서 주소 차이만큼 i 에 저장됨
//i = (int)p;//p 가 어떤 변수를 포인트 하고 있으면 가리키고 있는 변수의 주소
// q = &p;//p 포인터의 주소
// *q = &j;//int 형에 int* 대입할려함. 오류
// i =(*&)j;//괄호 우선 연산인데 괄호 안에 연산들을 적용할 변수가 없어서 오류
// i=*&*&j; //j 의 값
//*p++변수에 *p 값 넘겨주고 p가 포인트 하는 주소의 주소값 증가
// (*p)++ 변수에 *p 값 넘겨주고 p가 포인트 하는 변수의 값이 +1
//++*p == ++(*p) 변수에 p 가 포인트 하는 변수의 값에 +1 한 후 그 값은 넘김
//*++p //p 가 포인트 하는 주소+1 하고 그 주소에 있는 값을 넘김
return 0;
}
댓글 없음:
댓글 쓰기