#include <stdio.h>
int main(void)
{
int num1=10, num2=20, num3=30;
int* arr[3]={&num1, &num2, &num3};
// 두 표현은 같은 표현
printf("%d \n", arr[0]);
printf("%d \n", *arr);
//
printf("%d \n\n", arr);
// 해당 주소들이 저장하고 있는 값을 출력
printf("%d \n", *arr[0]);
printf("%d \n", *(arr[1]));
printf("%d \n\n", *arr[2]);
// 두 표현은 같은 표현
printf("%d \n", arr1[0]);
printf("%d \n", *arr1);
//
printf("%d \n\n", arr1);
// 해당 주소들이 저장하고 있는 값을 출력, *arr1[0], 컴파일 되지만 실행 시 에러.
printf("%s \n", arr1[0]);
printf("%s \n", arr1[1]);
printf("%s \n", arr1[2]);
//
printf("%s \n", *arr1);
scanf("%d", &num1);
return 0;
}
#include <stdio.h>
int main(void)
{
int num1=10, num2=20, num3=30;
// 배열 이름 = 배열의 첫 번째 요소 주소값
//---------------------------------------------------
// 포인터 (배열) 변수. 배열에 주소값을 저장
// arr이라는 배열 변수
// 포인터 배열.
int* arr[3]={&num1, &num2, &num3};
// 포인터 배열.
char a = 'A';
char* arr1[4] = {
"Fervent-lecture",
"TCP/IP",
"Socket Programming",
&a
};
//---------------------------------------------------
// 주소(arr[0])가 가리키는 값을 참조(*)
printf("%d \n", *arr[0]);
printf("%d \n", *arr[1]);
printf("%d \n\n", *arr[2]);
// *arr, arr[0]은 동일한 표현, 즉 첫 번째 요소 주소 값
//---------------------------------------------------
printf("%d \n", *(*arr));
printf("%d \n", *arr);
printf("%d \n", &arr);
printf("%d \n\n", arr);
//---------------------------------------------------
printf("%d \n", &num1);
printf("%d \n", &num2);
printf("%d \n\n", &num3);
printf("%d \n", arr[0]);
printf("%d \n", arr[1]);
printf("%d \n\n", arr[2]);
//---------------------------------------------------
//---------------------------------------------------
// *arr1[0], 컴파일 되지만 실행 시 에러.
// %d, %c 는 값을 받는 서식 문자이지만,
// %s 는 주소를 받는 서식 문자이므로,
// %s 에 값을 대입하면 에러가 발생한다.
printf("%s \n", arr1[0]);
printf("%s \n", arr1[1]);
printf("%s \n", arr1[2]);
printf("%s \n", *arr1);
//---------------------------------------------------
// 즉, 올바른 서식 문자를 사용해야 제대로 출력된다.
// 문자열이 아닌 문자 '값'의 경우, * 연산자를 사용해서 간접 참조한다는 것을 알려줘야 한다.
printf("%s \n", arr1[3]);
printf("%c \n\n", *arr1[3]);
// C++의 system("pause");
scanf("%d", &num1);
return 0;
}
'language > C|C++' 카테고리의 다른 글
C언어 정리 2 (0) | 2016.08.08 |
---|---|
typedef (0) | 2016.08.06 |
FILE* fopen (0) | 2016.07.26 |
문자와 문자열 처리 함수 (0) | 2016.07.25 |
데이터 상수화, 포인터 상수화 (0) | 2016.07.21 |