카테고리 없음
C언어_Const
WorkKing
2022. 3. 21. 09:54
C언어에서 포인터를 사용해야하는 곳
1. 함수의 출력을 원할 때
2. 함수에 대용량 데이터를 전달할 때
3. malloc
void func(int *const data1, const int *data2, const int * const data3,
const int data4, int data5, int *data6){
*data1 = data5;
//data1 = &data5;
//*data2 = data5;
data2 = &data5;
//*data3 = data5;
//data3 = &data5;
//data4 = data5;
}
int main(int argc, char ** argv){
int a=1, b=2, c=3, d=4, e=5, f=6;
func(&a, &b, &c, d, e, &f);
}
[결과 분석]
int *const data1 : data1에 대한 const 키워드 선언은 data1의 포인터 주소 값을 변경할 수 없다.
const int *data2 : (int *)data2에 대한 const 키워드 선언은 data2의 값을 변경할 수 없다.
const int * const data3 : data3와 (int *)data3에 대해 둘다 const 키워드를 사용할 경우, 값과 포인터 주소 값 모두 변경할 수가 없다.
const int data4 : 당연한 이야기이긴 하겠지만, (int) data4에 대한 const 키워드를 선언했을 시에도 data4의 값을 변경할 수가 없다.