- [쉽게풀어쓴C언어] 포인터 총 정리 3: 포인터 연산과 주의할 점2024년 02월 03일
- 주사위 clice
- 작성자
- 2024.02.03.:31
반응형포인터의 연산
포인터의 사칙연산은 덧셈, 뺄셈만 가능하다
(나눗셈, 곱셈 불가)
덧셈과 뺄셈 연산 + -
바이트 단위만큼 증가한다
자료형의 크기가 s일때 포인터에 정수 n을 더하면 포인터 값은 s*n만큼 증가된다
단위 증가하는 값
char 1
short 2
int 4
float 4
double 8
int a=10;
예시*
int *p;
p=&
p+1
중요
v=*p++
p가 가리키는 값을 v에 대입한 후에 p를 증가한다
v=(*p)++
p가 가리키는 값을 v에 대입한 후에 p가 가리키는 값을 증가한다
v=*++p
p를 증가시킨 후에 p가 가리키는 값을 v에 대입한다
v=++*p
p가 가리키는 값을 가져온 후에 그 값을 증가하여 v에 대입한다
네가지를 잘 구별해야 한다
하지만
전위 증감자 > 포인터 > 후위증감자
를 기억하고 있다면 구분하는 것은 별로 어렵지 않다
포인터의 형변환
명시적으로 포인터의 타입을 변경 할 수가 있다
예를 들어
double age=12;
double *ex1=&age;
int *ex2;
일때 ex2가 가리키는 값을 ex1과 똑같이 하고 싶으면
자료형이 다르므로
int *ex2=(int *)ex1;
이렇게 해준다
double age=12; double *ex1=&age; int *ex2; int *ex2=(int *)ex1;
주의할 점
초기화 하기
안 그러면 쓰레기 값을 가지게 된다
보통 NULL을 이용한다
포인터 타입과 변수의 타임은 일치해야 한다
포인터가 아무것도 가리키고 있지 않은 경우 NULL로 초기화한다
int p*=NULL;
옛날 블로그에 정리했던 내용을 다시 정리한 글입니다
반응형'프로그래밍 언어 > c언어' 카테고리의 다른 글
[쉽게풀어쓴C언어] 포인터 총 정리 5: 포인터와 배열 (0) 2024.02.03 [쉽게풀어쓴C언어] 포인터 총 정리 4: 포인터와 함수(call by value, call by reference) (1) 2024.02.03 [쉽게풀어쓴C언어] 포인터 총 정리 2: 간접참조 연산자 * (0) 2024.02.03 [쉽게풀어쓴C언어] 포인터 총 정리 1: 포인터란? (0) 2024.02.03 [C언어] for문 예제 별찍기/별탑 쌓기 (0) 2023.08.04 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)