코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (394)
    • frameworks (19)
      • spring (19)
      • spring-boot (0)
      • testing (0)
    • languages (94)
      • java (39)
      • kotlin (0)
      • python (42)
      • r (13)
    • libraries (0)
    • programming (239)
      • android (13)
      • c (17)
      • cpp (22)
      • database (18)
      • design-pattern (4)
      • data-structures (11)
      • git (8)
      • hadoop (6)
      • html-css (7)
      • issue (4)
      • javascript (26)
      • jsp (34)
      • os (29)
      • php (6)
      • preferences (19)
      • etc (15)
    • discography (37)
      • k-pop (18)
      • pop (19)
    • blog (4)

블로그 메뉴

  • Programming
  • Java
  • JavaScript
  • Discography
  • K-Pop Songs
  • Pop Songs
  • Blog
  • Guestbook

공지사항

인기 글

태그

  • Android
  • r
  • Java
  • javascript
  • 자바스크립트
  • Spring
  • 파이썬
  • linux
  • jsp
  • python
  • CentOS
  • oracle

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
코락 CoRock

코딩하는 락스타

programming/c

[DAY 07] 포인터 2

2018. 1. 23. 23:26
반응형

1. 

어디 값인지는 차후의 문제이다.

정체는 나중 문제다.


2. 문제는 address다 => 주소도 차원이 있다!

[ ], *


포인터의 주소를 알면 그 값을 마음대로 조정할수있다 

포인터 장점 : 주소를 암으로써 그 값을 읽고, 쓰고 할 수 있다.

포인터란? 주소를 저장하는 변수


주의 : 포인터를 잘못 가리키면 데이터 손실 등의 심각한 문제를 초래한다. 그래서 주소값을 정확하게 넘겨주어야 한다.


포인터의 기능


1. 오직 주소(address)만 받을 수 있다. (꼭 주소값을 넣어라는 얘기)

2. 받은 주소의 값(value)을 읽을 수 있다.

3. 받은 주소의 값을 변경시킬 수 있다.

4. 주소 이동이 가능하다.


따라서 정확한 주소값을 주는 것이 중요하다


포인터 선언방법


1. 오직 주소(address)만 받을 수 있다. (꼭 주소값을 넣어라는 얘기)

가리키는 Type *변수명;



Call by address


이상적인 것은 call by name



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
void main(void)
{
    int *ptr;
    int n[] = { 5, 10, 22, 34, 36, 44 };
    ptr = n;
 
    printf("%d ", *ptr++);        printf(" %d \n", *ptr);
    printf("%d ", *ptr+1);        printf(" %d \n", *ptr);
    printf("%d ", ++*ptr);        printf(" %d \n", *ptr);
    printf("%d ", *(ptr+1));     printf(" %d \n", *ptr);
    printf("%d ", *ptr+=1);     printf(" %d \n", *ptr);
    printf("%d ", *++ptr);        printf(" %d \n", *ptr);
    printf("%d ", (*ptr)++);     printf(" %d \n", *ptr);
}
Colored by Color Scripter
cs

포인터를 잘 이해했는지?


반응형
저작자표시 비영리 변경금지
    'programming/c' 카테고리의 다른 글
    • [Core C] Functions (함수)
    • [DAY 03] Program Looping
    • [IDE] 코드 블럭스(CodeBlocks)에서 다크 테마로 변경하기
    • 배열과 포인터
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바