1. 程式人生 > >怎麼在自定義函式裡更改主函式的資料取值

怎麼在自定義函式裡更改主函式的資料取值

1.將地址傳入自定義函式


例:


//自定義函式改變a的值

#include<stdio.h>
void  change(int &x);
void  unchange(int x);
int main()
{
    int a;
    a = 0;
   unchange(a);
   printf("unchange:\n");
    printf("%d", a);
    change(a);
    printf("\n");
    printf("change\n");
    printf("%d ", a);
    return 0;
}
void  change(int &x)
{
    x = 1;
    
}
void  unchange(int x)
{
    x = 1;
}


2.使用二級指標



3.陣列的改變


//在自定義函式裡輸入指標,而不是列指標

#include<stdio.h>
void union_l(int a[], int   b[]);
int main()
{
    int x[8];
    int y[4];
    int i;
    for (i = 0; i < 4; i++)
    {
        scanf("%d", &x[i]);
        scanf("%d", &y[i]);
    }
    
    union_l(x, y);
    return 0;
}
void union_l(int a[], int b[])
{
    int la, lb;
    int i, j, flag ;;
    la = 4;
    lb = 4;
    for (i = 0;i < lb; i++)
    {
        flag = 0;
        for (j = 0; j < la; j++)
        {

            if (a[j] == b[i])
            {
                flag = 1;
            }
        }
        if (flag == 0)
        {
        a[la] = b[i];
        la++;
        }
    }
}