• c语言中函数的传递和const类型的修饰符


    c语言中函数的传递和const类型的修饰符。

    c语言中函数的传递:对接受到的数组元素进行的修改,元素值的变化也会反映到再次调用时传入的数组中。

    const类型的修饰符:在给函数传递数组时,如果担心传递给函数的数组的元素会被修改,只要在声明形参的时候加上被称为const的类型修饰符就可以了。

    如果只是引用所接收的数组的元素值而不改写的话, 在声明接收数组的形参时就应该加上const,这样函数调用方就可以放心地调用函数了。

    #include <stdio.h>
    
    void func1(int x[], int y)   ## 在接收的数组的形参前未加 const,接收的数组可以修改。
    {
        int i;
        for (i = 0; i < y; i++)
            x[i] = 0;
    }
    
    void func2(const int x[], int y)   ## 在接收的数组的形参前加 const, 接收的数组不可以修改。
    {
        int i;
        printf("{");
        for (i = 0; i < y; i++)
        {
            printf(" %d ", x[i]);
        }
        printf("}");
    }
    
    int main(void)
    {
        int i;
        int arry1[] = {1, 2, 3, 4, 5};
        int arry2[] = {3, 4, 8};
        printf("arry1 : "); func2(arry1, 5); putchar('\n');
        printf("arry2 : "); func2(arry2, 3); putchar('\n');
        func1(arry1, 5);
        func1(arry2, 3);
        putchar('\n');
        puts("modified!!!");
        printf("arry1 : "); func2(arry1, 5); putchar('\n');
        printf("arry2 : "); func2(arry2, 3); putchar('\n');
        return 0;
    }

  • 相关阅读:
    SDN第4次上机作业
    SDN第三次作业
    SDN第三次上机作业
    SDN第二次上机作业
    SND第二次作业
    【Beta Scrum】冲刺!4/5
    【Beta Scrum】冲刺! 3/5
    【Beta Scrum】冲刺! 2/5
    【Beta Scrum】冲刺! 1/5
    SDN第二次上机作业
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14598974.html
Copyright © 2020-2023  润新知