C语言篇之const关键字与函数传参

1.const 关键字在C语言中用来修饰变量,表示这个变量是常量(在有的编译环境下,const修饰的变量也能修改(有的放在了.data段),但是const更多的是传递一种信息告诉编译器和读程序的人,这个变量不应该也不必去修改)。
const修饰指针的四种形式
第一种:const int *p;p本身不是const的,但是p指向的内容是const的。
第二种:int const *p;和第一种一样,p本身不是const的,但是p指向的内容是const的。
第三种:int * const P;P是const的,但是P指向的内容不是const的。
第四种:const int * const P;P是const的,P指向的内容也是const的。
注意:在函数的形参声明的时候要把const当成一个必要的东西,不是可有可无的,通常输入型参数要加const,输出型参数不加const。
2.函数传参
数组作为函数的形参时,实际上传递的不是整个数组而是数组的首元素的首地址,数组作为函数形参时,[]里面的数字是可有可无的(因为数组名做形参传递的实际只是一个指针)。
void func(int a[])
{
printf(“数组的大小 = %d.\n”,sizeof(a));
}
int main(void)
{
int a[20];
func(a);//4,因为a在func内部就是指针而不是数组,在子函数内,a传进来的是数组的指针(首地址)
return 0;
}
结构体变量作为函数的形参时,实际上和普通变量传参时的表现一样,只是结构体一般都很大,如果直接用结构体变量进行传参那么函数的调用效率就会很低,一般是传变量的指针过去。

本博文只是作为自己的一个笔记,如果能帮助其他人更好,若有疑问欢迎指出,欢迎加QQ 1922546282,共同讨论与学习。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值