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;
}
复制代码

 

posted @   小鲨鱼2018  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示