코락 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

공지사항

인기 글

  • RDP Wrapper로 원격 데스크톱 설치부터 사용까지!
    2018.11.04
    RDP Wrapper로 원격 데스크톱 설치부터 사용까지!
  • [Database] ERWin 설치 방법
    2018.04.19
    [Database] ERWin 설치 방법
  • 이 친구 닉값하네? WebStorm 설치 완벽 가이드!
    2019.02.18
    이 친구 닉값하네? WebStorm 설치 완벽 가이드!
  • 아프니까 청춘이다! Oracle 11g 완전삭제하기
    2018.04.10
    아프니��� 청춘이다! Oracle 11g 완전삭제하기
  • [Python] SVM(Support Vector Mach⋯
    2019.07.03
    [Python] SVM(Support Vector Mach⋯

태그

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

최근 댓글

  • 도움이 되셨다면 좋겠네요 :)
    코락 CoRock
  • 자세히 알려주셔서 감사드립니다 ^_^
    비산동감자
  • 제 글이 유용했다니 뿌듯하네요~ ㅎㅎ
    코락 CoRock
  • 그림과 함께 꼼꼬미 글이 작성되어 정리하는데 도움이 되었습⋯
    v_aaaaa_v
  • 덕분에 도움 많이 되었습니다. 감사합니다.
    Dev_Aaron

최근 글

  • [Core C] 문자열 | String
    2021.01.19
    [Core C] 문자열 | String
  • [Core C] Array | 배열
    2021.01.18
    [Core C] Array | 배열
  • [R] Java와 R 연동
    2020.08.25
    [R] Java와 R 연동
  • git 지역 저장소에서 원격 저장소까지의 메커니즘
    2020.08.18
    git 지역 저장소에서 원격 저장소까지의 메커니즘
  • 검색 엔진 최강자! 구글에 사이트맵 등록하기
    2020.08.13
    검색 엔진 최강자! 구글에 사이트맵 등록하기

티스토리

반응형
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
    [IDE] 코드 블럭스(CodeBlocks)에서 다크 테마로 변경하기
    다음 글
    [IDE] 코드 블럭스(CodeBlocks)에서 다크 테마로 변경하기
    [DAY 10] FILE I/O
    이전 글
    [DAY 10] FILE I/O

    티스토리툴바