-
c언어 포인터 공부코딩공부 2022. 4. 14. 23:56728x90반응형
포인터를 이용하면 주소와 값을 확인하거나 값을 변경할 수 있다.
int warren = 1; //warren은 1이라는 값을 갖는다. printf("warren이 저장된 주소 : %d, 값 : %d", &warren, warren); //------------------------------------------------------- int * bill; //bill이라는 포인터를 만들었습니다. bill = &warren; //bill(포인터)는 warren의 주소를 갖습니다. printf("bill이 찾아간 warren의 주소는 : %d, 값 : %d",bill,*bill); bill = &warren; *bill = *bill * 100; //이런식으로 값을 변경할 수 있습니다. printf("bill이 찾아간 warren의 주소 : %d, 변경된 값 : %d",bill,*bill) //------------------------------------------------------- int * spy = bill; *spy = *spy - 2; printf("spy가 찾아간 warren의 주소 : %d, spy가 변경한 값 : %d",spy, *spy);배열을 통해 알아보기
int arr[3] = {5,10,15}; int * p; p = &arr; //p = &arr[0] 과 같은 의미이다. for (int i = 0; i < 3; i++); { printf("arr[%d]의 주소는 %d, 값은 %d \n",i, p, *p); }값 바꾸기
void swap(int a, int b); void swap_adr(int * a, int * b); int main(void) { int a = 10; int b = 20; printf("Swap 함수 전 >> a : %d, b: %d \n",a,b); swap(a,b) printf("<값만 복사>Swap 함수 후 >> a : %d, b : %d \n",a,b); swap_adr(&a,&b) printf("<주소값 전달>Swap 함수 후 >> a : %d, b : %d \n",a,b); return 0; } void swap(int a, int b) { int temp = a; a = b; b = temp; } void swap_adr(int * a, int * b) { int temp = *a; *a = *b; *b = temp; }728x90반응형'코딩공부' 카테고리의 다른 글
C언어 고양이 뽑기 게임 만들기 (1) 2022.04.20 C언어 구조체(struct) 공부 (0) 2022.04.20 [C언어 / DAY-1] 컴퓨터와 하는 가위 바위 보 게임 프로그램 (0) 2022.04.12 Javascript 공부 2일차 (0) 2022.01.08 [Javascript] 택배 크기 구분하기 (4) 2022.01.07