728x90
반응형
# include <stdio.h>
int main()
{
const double PI1 = 3.141592;
double const PI2 = 3.141592;
//const는 자료형 앞이나 뒤에 위치 가능하다. 둘 다 가능하다.
//const는 변수는 상수로 바꾸는 함수.
//사용하는 용도는 PI와 같이 값이 정해져있고 변할 경우 계산값이 모두 바뀌는 경우
int const arr[5] ={1,2,3,4,5};
//arr[2] = 1234;
//배열에 const를 붙여도 값을 바꿀수 없다.
double const arr2[3] = {1.0,2.0,3.0};
double *pd = arr2;
*pd = 3.0; // pd[0] = 3.0; arr[0] = 3.0;
pd[2] = 1024.0; // arr[2] = 1024.0;
printf("%lf %lf\n",pd[2],arr2[2]);
// const로 선언한 배열도 포인터 변수를 이용해 값을 변경할 수 있다.
// 하지만 상수 자체의 의도에 부합하지 않으므로 사용하지 말자.
//하지만 증감연산자는 사용 가능하다.
pd++;
printf("%lf %lf\n",pd[2],arr2[2]);
//증감 연산을 사용하면 arr2[2]+1을 출력한다. 하지만 arr2[2] 가 최대값. arr2[3]은 존재하지 않는다.
const double* pd2 // 포인터 변수가 가리키고 있는 값을 못바꾼다.
double* const pd2 // 포인터 변수의 주소값을 못바꾼다.
const double* const pd2 = arr2; // 증감 연산도 사용하게 하고 싶지 않다면 앞 뒤에 const 전부 사용
}
출처 : 인프런 - 홍정모의 따라하며 배우는 C언어
728x90
반응형
최근댓글