C언어 이중 포인터

1 개념[ | ]

이중 포인터
  • 이중 포인터는 포인터 변수의 주소를 담는 변수
  • 서로 다른 함수에서 포인터 변수를 수정 할 때 사용
일중 포인터
  • 일반 변수의 주소를 담는 변수
  • 서로 다른 함수에서 일반 변수를 수정 할 때 사용

2 이중 포인터 예시[ | ]

C
Copy
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void getName(char **ppName);

int main()
{
    char *pName;

    getName(&pName);

    printf("%s", pName);

    return 0;
}

void getName(char **ppName)
{
    char name[256];

    fgets(name, sizeof(name), stdin);

    *ppName = (char *)malloc(strlen(name) * sizeof(char));

    strcpy(*ppName, name);
}
→ main()함수의 포인터 변수 pName을 getName() 함수에서 ppName 이중 포인터로 받아 처리해줌

3 같이 보기[ | ]

편집자 John Jeong J Jmnote Jmnote bot
  • C, C++ 주석
    C에도 적용되는 주석 문법이라면, "C와 C++ 주석"으로 제목을 옮기면 어떨까요? Ykhwong
  • C, C++ 주석
    @Ykhwong 네네. 좋은 의견 입니다. 변경 부탁드려요. John Jeong
  • C, C++ 주석
    'C스타일 주석'이라는 제목도 괜찮겠네요.J Jmnote
  • C, C++ 주석
    'C, C++ 주석' 형태로 최종 가도록 하겠습니다. C와 C++ 까지의 현재 범위를 명확히 하려 합니다. John Jeong
  • C언어 연결리스트 구현
    마지막에 메모리 해지는 어떤식으로 해야되나요?? 돌멩이
  • C언어 연결리스트 구현
    @돌맹이 head 가 널까지 가는거 보시고 코드가 아름 답진 않지만 대략 아래 방법처럼 하나씩 삭제 하시면 될 것 같습니다. void deleteNode(nodeType *head) { nodeType *ptr = head, *ptr2 = NULL; while(ptr- John Jeong
  • C언어 연결리스트 구현
    답변 감사합니다! 돌멩이