#include <stdio.h>
void def_1(int* num1, int* num2, int*_return[2]);
void def_2(int num, int num2, int* _return[2] ,int **ptr[2]);
int main()
{
int num1 = 1;
int num2 = 2;
int* _return[2];
int** ptr[2] = { NULL };
printf("num1 : %d\nnum2 : %d\n", num1
, num2
); def_1(&num1, &num2, &_return);
printf("num1 : %d\nnum2 : %d\n", *_return
[0], *_return
[1]); def_2(num1, num2, _return, ptr);
printf("num1 : %d\nnum2 : %d\n", **ptr
[0], **ptr
[1]); return 0;
}
void def_1(int* num1, int* num2, int* _return[2])
{
_return[0] = num1;
_return[1] = num2;
*_return[0] += 1;
*_return[1] += 1;
}
void def_2(int num1, int num2, int* _return[2] ,int** ptr[2])
{
ptr[0] = &_return[0];
ptr[1] = &_return[1];
**ptr[0] += 1;
**ptr[1] += 1;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGRlZl8xKGludCogbnVtMSwgaW50KiBudW0yLCBpbnQqX3JldHVyblsyXSk7CnZvaWQgZGVmXzIoaW50IG51bSwgaW50IG51bTIsIGludCogX3JldHVyblsyXSAsaW50ICoqcHRyWzJdKTsKaW50IG1haW4oKSAKewogICBpbnQgbnVtMSA9IDE7CiAgIGludCBudW0yID0gMjsKICAgaW50KiBfcmV0dXJuWzJdOwogICBpbnQqKiBwdHJbMl0gPSB7IE5VTEwgfTsKCiAgIHByaW50ZigibnVtMSA6ICVkXG5udW0yIDogJWRcbiIsIG51bTEsIG51bTIpOwogICBkZWZfMSgmbnVtMSwgJm51bTIsICZfcmV0dXJuKTsKCiAgIHByaW50ZigibnVtMSA6ICVkXG5udW0yIDogJWRcbiIsICpfcmV0dXJuWzBdLCAqX3JldHVyblsxXSk7CiAgIGRlZl8yKG51bTEsIG51bTIsIF9yZXR1cm4sIHB0cik7CgogICBwcmludGYoIm51bTEgOiAlZFxubnVtMiA6ICVkXG4iLCAqKnB0clswXSwgKipwdHJbMV0pOwogICByZXR1cm4gMDsKfQoKdm9pZCBkZWZfMShpbnQqIG51bTEsIGludCogbnVtMiwgaW50KiBfcmV0dXJuWzJdKSAKewogICBfcmV0dXJuWzBdID0gbnVtMTsKICAgX3JldHVyblsxXSA9IG51bTI7CgogICAqX3JldHVyblswXSArPSAxOwogICAqX3JldHVyblsxXSArPSAxOwp9Cgp2b2lkIGRlZl8yKGludCBudW0xLCBpbnQgbnVtMiwgaW50KiBfcmV0dXJuWzJdICxpbnQqKiBwdHJbMl0pIAp7CiAgIHB0clswXSA9ICZfcmV0dXJuWzBdOwogICBwdHJbMV0gPSAmX3JldHVyblsxXTsKCiAgICoqcHRyWzBdICs9IDE7CiAgICoqcHRyWzFdICs9IDE7Cn0KCg==