포인터배열
페이지 정보
작성일 19-11-22 16:23본문
int main() {
//배열 포인터 : 배열을 가리키는 포인터
//포인터 배열 : 포인터들이 배열
//int(*ptr)[4]; 배열 포인터 선언
//int *ptr[4]; 포인터 배열 선언
//배열포인터는 배열들의 포인터들이고
//포인터 배열은 포인터로 이루어진 배열이라고 생각할 수 있다
int *ptr[4];
int a = 10;
int b = 20;
int c = 30;
int d = 40;
ptr[0] = &a;
ptr[1] = &b;
ptr[2] = &c;
ptr[3] = &d;
printf("%d %d %d %d\n", *ptr[0],*ptr[1],*ptr[2],*ptr[3]);
//포인터 배열에는 주소값이 들어가므로 &이 사용되는 것을 볼 수 있다.
//결과값 10 20 30 40
int arr[4] = { 1,2,3,4 };
int *ptr2[4];
for (int i = 0; i < 4; i++) {
ptr2[i] = &arr[i];
}
//포인터 배열에 arr배열의 주소값을 넣는 과정
for (int i = 0; i < 4; i++) {
printf("%d\n", *ptr2[i]);
}
//포인터 배열의 값을 출력
//결과값 1 2 3 4
char str[] = "Hello";
printf("%s\n",&str[0]);
//결과 값 :Hello
printf("%s\n", &str[1]);
//결과 값 :ello
printf("%s\n", &str[2]);
//결과 값:llo
char strings[3][10] = { "Hello","World","Doodel" };
for (int i = 0; i < 3;i++) {
printf("%s\n",&strings[i][0]);
}
char* p_str[3];
for (int i = 0; i < 3; i++) {
p_str[i]=strings[i];
printf("%s\n", p_str[i]);
}
//strings[i]는 해당 행의 첫번째 주소를 나타내므로 행렬로 출력이 가능하다.
//두 for문의 값이 같다
//결과값 HELLO
// WORLD
// Doodel
}
- 이전글100개 이하의 정수를 입력받아 첫 줄에 짝수 번째 숫자들을 순서대로 출력하고, 다음 줄에 홀수 번째 숫자들을 순서대로 출력하는 프로그램을 만들어 보세요. 19.11.29
- 다음글2차원 배열과 배열 포인터 19.11.22