본문 바로가기

프로그래밍 언어27

포인터(5) - 다중 포인터(이중포인터 위주) ※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다.    오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.이중 포인터(더블 포인터)이중 포인터 : 포인터 변수를 가리키는 또 다른 포인터 변수  선언 방법 : 자료형 ** 이중포인터 변수명 예제1#include int main(){ double num = 3.14; double * ptr = # double **dptr = &ptr; double *ptr2; printf("%p %p\n", ptr, *dptr); printf("%f %f\n", num, **dptr); ptr2 = *dptr // ptr2 = ptr; *ptr2 = 10.99.. 2024. 7. 12.
포인터(4) - 함수 포인터 & 사용 예시 정리 해당 글은 개인 공부 정리를 위해 작성되었습니다.함수 포인터프로그램에서 정의된 함수는 프로그램이 실행될 때 모두 메인 메모리에 올라갑니다.배열명이 배열의 시작 주소값를 가리키는 포인터 상수를 의미하듯, 함수명은 함수가 정의되어 있는 메모리의 시작 위치를 가리키는 포인터 상수(constant pointer) 입니다.함수명은 포인터이므로 printf에서 출력해보면 메모리 주소(%p)가 출력된다  ※ 선언 방법 : 반환값자료형 (*함수포인터이름) (매개변수 자료형) #include int add(int a, int b){ return a + b; }int sub(int a, int b){ return a - b; }int mul(int a, int b){ return a * b; }int div(int a, .. 2024. 7. 12.
포인터(3) - 포인터&배열 함수인자 전달 해당 글은 개인 공부 정리를 위해 작성되었습니다. 인자 전달 방식call by value : 함수를 호출할 때 단순히 값을 복사해서 전달하는 함수호출코드 결과는 다음과 같이 출력되었다 -> 변수 값 교환 불가c : 100 , d : 200c : 100 , d : 200  #include void swap(int, int);void swap(int a, int b){ int temp; temp = a; a = b; b = temp; }int main(void){ int c = 100, d = 200; printf("1 %d %d\r\n ", c, d); swap(c, d); printf("2 %d %d", c, d); return 0;}  call .. 2024. 7. 12.
포인터(2) - 포인터 배열 / 배열 포인터 해당 글은 개인 공부 정리를 위해 작성되었습니다.포인터 배열포인터 배열 : 배열 요소로 포인터 변수를 가지는 배열을 의미합니다. 즉, 포인터 변수로 이루어진 '배열'을 의미합니다.포인터 배열은 기본 자료형 배열과 크게 다르지 않습니다. 다만 주소값을 저장할 수 있는 포인터 변수를 대상으로 선언된 배열일 뿐입니다. 선언 방법 : 자료형  * 배열명[크기]  #include int main(void){ int num1 = 1, num2 = 2, num3 = 3; int * arr[3] = { &num1, &num2, &num3 }; // 포인터 배열 선언 및 초기화 printf("주소값 : %p %p %p\n", arr[0], arr[1], arr[2]); printf("값 :.. 2024. 7. 11.