第五十一章 指针六
「哦,晓得了。
」
老爹说这些的确是现实中存在的问题,班上就有很多同学的家长不让他们玩儿手机和电脑,说是会影响到学习。
一方为了防止对方玩儿手机,另一方想突破对方的封锁,于是双方展开了一场场斗智斗勇,各有输赢。
这大概就和老爹说的一样吧,不能单纯地从某个方面来看待这件事情。
学习成绩好的人有玩儿手机和电脑的,学习成绩不好的也有不玩儿手机和电脑的,关键还是在于使用者如何使用吧。
当然了,一般来说小孩儿的自制能力比较差,这个时候就需要家长合理的管控了。
毋庸置疑的是,老爹在这一点做得非常好。
「好了好了,闲话就说到这里,咱们还是继续说函数和指针之间那点事儿。
其实函数和指针的关系也挺简单的,无非就三种情况:指针作为函数参数,函数返回值为指针。
其中指针作为函数参数又有两种情况,第一是指针变量指向的是数据,如int、double以及结构体或者枚举这种,还有一种特例,那就是指针变量指向的是一个函数,我们把一个函数a的指针作为参数传给另一个函数b,这样在函数b中就可以通过这个指针调用函数a了,这就是所谓的回调函数。
概念性的东西咱们就先说到这里,还是以实际的例子来说明吧。
首先说普通指针作为函数的参数,其实这种情况你们已经见识过了,我一开始说到的swap函数就是这样了。
我相信通过之前的讲解,你们对这个函数的理解已经算是比较透彻了,这里我们就不再赘述。
所以我们接下来看看当指针作为一个函数的返回值的这种情况,比如说我们来实现一个函数,功能是把给定的字符串转成大写的,并把转换后的字符串返回。
由于字符串是一个char*,正好满足指针作为返回值。
typedefchar*string;
stringtouppercase(stringstr)
{
constchardelta=a-a;
stringtemp=str;
while(*temp!=0)
{
if(a
{
*temp=*tempdelta;
}
temp;
}
retustr;
}
因为我们已经给char*定义了一个string别名,所以我们在代码中就使用它,比较利于阅读理解。
本章未完,点击下一页继续阅读