EASY7

[C언어 20강] 포인터식 / 배열 본문

개발 공부/C

[C언어 20강] 포인터식 / 배열

E.asiest 2016. 7. 12. 17:31

 

포인터에서 연산작업 덧셈 뺄셈하기

#include<stdio.h>

void main()

{

char c='A';

int i=5;

char *p_c=&c;

int *p_i=&i;

printf("c 결과값 %c p_c포인터 정보 %c \n", c,(*p_c)++);  B A

printf("i 결과값 %c p_i포인터 정보 %c \n", i, *p_i+=1); 6 6 *p_i를 6으로 저장하고  6 6 출력

printf("%c \n", *p_c+1); C

}

++ -- 은 오른쪽에서 왼쪽방향으로 계산을 한다.

괄호 유무는 아주 중요하다.

(*p)++ , ++*p는 현재 포인터값을 가져와서 그 값 자체를 조각함.

*p++는 p의 주소값 3075908이 다음 요소값 3075912를 가리키며 그 주소가 가리키는 내용을 지칭

*(p+2)는 p의 다음다음 요소값이 가리키는 값

 

 

 

#include<stdio.h>

void main()

{

char c='A';

int i;

for (i=0; i<26; i++)

printf("%c %d \n", c+i, c+i);

}

A 65

B 66

...

c값 자체가 바뀌는 것이 아니라 출력만 +1,+2됨

 

int이면 주소가 4씩 증가한다.

왜 주소가 증가해야할 까

메모리 아깝게

값만 4byte이면 되는 거 아닌가

 

'개발 공부 > C' 카테고리의 다른 글

[C언어 22강] 포인터 배열  (0) 2016.07.12
[C언어 21강] %출력 형태  (0) 2016.07.12
[C언어 19강] 이중포인터  (0) 2016.07.10
[C언어 18강] 포인터란?  (0) 2016.07.09
[C언어 17강] 두 문자열을 비교하는 strcmp()  (0) 2016.07.09
Comments