#include <stdio.h>
void main() {
int a = 20;
int *ptr_a; //포인터 한개를 선언
ptr_a = &a;
printf("a의 값: %d\n", a);
printf("a의 주솟값: %d\n", &a);
printf("ptr_a 에 저장된 값: %d\n", ptr_a);
printf("ptr_a가 가르키는 변수의 값: %d\n", *ptr_a); //*ptr_a = a
int a = 10;
int b = 20;
int* ptr;
ptr = &a;
printf("ptr이 가리키는 변수에 저장된 값: %d\n", *ptr);
ptr = &b;
printf("ptr이 가리키는 변수에 저장된 값: %d\n", *ptr);
int a = 10;
int* ptr;
ptr = &a;
int** ptr_ptr; //포인터를 가르키는 포인터 선언
ptr_ptr = &ptr;
printf("a=%d\n", a);
printf("&a=%d\n", &a);
printf("ptr=%d\n", ptr);
printf("&ptr=%d\n", &ptr);
printf("ptr_ptr=%d\n", ptr_ptr);
}
#include <stdio.h>
void main() {
//포인터와 배열
int data = 10;
int* pData = &data;
printf("%p\n", &data);
printf("%p\n", pData);
printf("%d\n", *pData);
printf("%p\n", pData + 1);
}
#include <stdio.h>
void main() {
int arData[] = { 3, 5, 1, 9, 7 };
int length = sizeof(arData) / sizeof(int);
for (int i = 0; i < length; i++) {
arData[i] = 5 - i;
}
for (int i = 0; i < length; i++) {
printf("%d ", arData[i]);
}
printf("\n%p\n", arData);
printf("%p\n", &arData[0]);
printf("%p\n", &arData[1]);
printf("%d\n", sizeof(arData));
printf("%d\n", *(arData + 4));
}
#include <stdio.h>
void main() {
//1~10까지 배열에 담고 출력
int arData[10] = { 0, };
for (int i = 0; i < 10; i++) {
arData[i] = i + 1;
printf("%d ", arData[i]);
}
//10~1 까지 중 짝수만 배열에 담고 출력
int arData[5] = { 0, }; //짝수만 출력하니까 5번만 반복
for (int i = 0; i < 5; i++) {
arData[i] = (i + 1) * 2; // i= 0~4, (i+1=1~5)*2 = 2,4,6,8,10
printf("%d ", *(arData + i));
}
}
배열의 선언
자료형 배열명[길이] = {값1, 값2...};
자료형 배열명[길이] = {초기값,};
i a[10] = {0, };
초기값
정수: 0
실수: 0.0
문자: ' '
-배열의 크기
sizeof(배열명)
-배열의 길이
sizeof(배열명) / sizeof(자료형)
-배열의 사용
1. 배열명[index] = 값; //저장공간
2. *(배열명 + index) + 값; //값
3. *(배열명 + index) = 값; //저장공간
4. 배열명[index] + 값; //값
[index가 0부터 시작하는 이유]
배열명은 시작 주소를 가지고 있기 때문이다.
따라서 값에 접근할 때에는 주소값 앞에 *(참조연산자)를 붙여주어야 한다
포인터 연산을 통해 배열명+정수로 각 주소에 접근하고
참고 연산자를 맨 앞에 붙여 값에 접근한다
첫번째 칸의 값에 접근할 때에는 *(배열명+0) 이기 때문에 인덱스 번호는 0부터 시작한다
728x90
'Dev. > C++' 카테고리의 다른 글
포인터와 배열 응용문제 풀기 (0) | 2022.03.06 |
---|---|
포인터와 배열 연습문제 풀기, null문자 (0) | 2022.03.06 |
반복문 연습문제 풀기 (0) | 2022.03.06 |
연산자 조건문 반복문 문제풀기 (0) | 2022.03.05 |
반복문 연습/for문/break (0) | 2022.03.05 |
댓글