코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (393)
    • 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 (3)

블로그 메뉴

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

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

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

코딩하는 락스타

programming/c

배열과 포인터

2018. 1. 23. 09:39
반응형

What is Array?



1. 오직 주소(address)만 받을 수 있ㄴㅇㅁ

ㅁㄴㅇㅁㄴㅇㅁㄴㅇㅁㄴㅇ


  • 장점(Advantages)

  • 선언(Declaration)

→ Datatype 배열의 이름[개수];



1. 오직 주소(address)만 받을 수 있ㄴㅇㅁ

ㅁㄴㅇㅁㄴㅇㅁㄴㅇㅁㄴㅇ


  • 배열명은 그 배열의 시작 주소를 의미한다!

1. 오직 주소(address)만 받을 수 있ㄴㅇㅁ

ㅁㄴㅇㅁㄴㅇㅁㄴㅇㅁㄴㅇ


  • 배열의 선언(Declaration for array)

→ Datatype 배열의 이름[개수];



1. 오직 주소(address)만 받을 수 있다.



Datatype 배열의 이름[개수];




Advantages of array



일괄처리를 할 수 있다!




★ 가리키는 Type *변수명;



★ 가리키는 Type *변수명;



1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
void main()
{
    int i;
    int arr[10] = { 2 };
 
    for (i = 0; i < 10; i++) {
        printf("arr[%d] = %d \n", i, arr[i]);
    }
}
Colored by Color Scripter
cs


★ c 언어에서는 선언과 동시에 초기화할 때 값을 안넣으면 0이 들어간다!


arr[0] = 2

arr[1] = 0

arr[2] = 0

arr[3] = 0

arr[4] = 0

arr[5] = 0

arr[6] = 0

arr[7] = 0

arr[8] = 0

arr[9] = 0




포인터(day 08)

포인터는 주소를 알면서 기능이 생긴다


printf는? 값이 나오면 찍어라 *ptr++은 *ptr로 값을 인식했으니 더 쓸수없다


char *ptr; // 내가 가리킨 주소부터 1바이트만 읽는다


앞의 타입은 '이만큼 읽어라' 뜻을 가지고 있다.


----------------


2차원 포인터 역시 가리키는 배열의 크기를 알아야 한다

ex. char (*name)[10]

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' 카테고리의 다른 글
    • [DAY 07] 포인터 2
    • [IDE] 코드 블럭스(CodeBlocks)에서 다크 테마로 변경하기
    • [DAY 10] FILE I/O
    • [Android] WebView | Thread
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바