본문 바로가기

languages/c, c++

다중 포인터

#include <stdio.h>

int main(void) {
    int     a  =  1;
    int   (*b) = &a;
    int  (**c) = &b;
    int (***d) = &c;


    printf("  &a    : %p\n",   &a);
    printf("   a    : %d\n",    a);
    printf("  *a    : n/a\n");

    printf("  &b    : %p\n",   &b);
    printf("   b    : %p\n",    b);
    printf("  *b{1} : %d\n",   *b);

    printf("  &c    : %p\n",   &c);
    printf("   c    : %p\n",    c);
    printf("  *c(1) : %p\n",   *c);
    printf(" **c(2) : %d\n",  **c);

    printf("  &d    : %p\n",    &d);
    printf("   d    : %p\n",    d);
    printf("  *d[1] : %p\n",   *d);
    printf(" **d[2] : %p\n",  **d);
    printf("***d[3] : %d\n", ***d);
}

 

 

 

 

#include <stdio.h>

void Function(int **c)
{
	**c = 2;
}

int main(void) 

{
	int a = 1;
	int *b = &a;
	Function(&b);
	printf("변화된 a의 값은? %d", a);

}

 

#include <stdio.h>

void Function(int **c)
{
	**c = 2;
    printf("  &c    : %p\n", &c);
    printf("   c    : %p\n", c);
    printf("  *c    : %p\n", *c);
    printf(" **c    : %d\n", **c);
}

int main(void) 

{
	int a = 1;
    printf("  &a    : %p\n", &a);
    printf("   a    : %d\n", a);
	int *b = &a;
    printf("  &b    : %p\n", &b);
    printf("   b    : %p\n", b);
    printf("  *b    : %d\n", *b);
	Function(&b);
    printf("변화된 a의 값은? %d", a);

}

'languages > c, c++' 카테고리의 다른 글

pass by value, pass by reference, pass by pointer  (0) 2021.05.08
Pointer(포인터, PTR, 방대리) vs. Reference(참조자)  (0) 2021.05.07
포인터, 경우의 수  (0) 2021.05.06
scanf, argv[]  (0) 2021.05.04
배열  (0) 2021.05.04