const的用法 ,const与指针

文章内容参考了《C Primer Plus》第六版的P299、P305、P402


对形参使用const

int sum(const int array[], int size);

int sum(const int array[], int size)
{
	int total = 0;
	for (int i = 0; i < size; i++)
	{
		total += array[i];
	}
	return total;
}

        在上面的函数声明以及函数定义中,我们并不需要修改数组元素的值(不需要修改指针变量指向的内容)
        为了防止在函数中意外修改了指针变量指向的内容,我们可以使用const
        需要注意的是,上面这种使用const的方式,不是要求传进来的数组是常量,而是要求函数在处理该数组时将其视为常量,不可更改其值。

        这样使用const可以保护数组的数据在这个函数内不被修改,就像传值一样,可以保护数据的原始值。

指针

指针就是地址,同时指针是有类型的,指针的类型决定了可以通过这个指针访问多少个字节(多大的空间)。

我们口语中说的指针,通常指的是指针变量,是用来存放地址值的变量。

有一个指针变量p

*p++ , 即*(p++) , 先取内容,后指针+1,相当于先(*p),后(p++)

(*p)++ , 先取内容,后内容+1

*++p , 即*(++p) , 先指针+1,后取内容

int* ptr();         //ptr是函数名,返回类型是指向int类型的指针
int (*ptr)();       //ptr是指向函数的指针变量(函数指针),返回类型是int
int * (*ptr)();     //ptr是指向函数的指针变量(函数指针),返回类型是指向int类型的指针

//函数指针就是把函数名用一个指针代替,并且用括号括起来,这个括号不可以省略



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值