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类型的指针

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



猜你喜欢

转载自blog.csdn.net/weixin_63096487/article/details/133433001