반응형
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]); } } | 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); } | cs |
포인터를 잘 이해했는지?
반응형