1.如果函数需要传入一个指针,面试官可能会问是否需要为该指针加上const,把const加在指针不同的位置有什么区别?
指针做参数时,既可以是输入参数,也可以是输出参数。输出参数可能会改变该指针指向的地址的内容。指针作为输入参数,加上const关键字做个限定,防止修改函数外部数据,即用来防止该指针在函数体内被意外修改,能提高程序的健壮性。
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向的对象为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操作,如不能*a = 3 ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作&#