1、关于函数strcpy()的说明:
在使用strcpy()函数时会将第二个参数的内容拷贝到第一个参数的内容中,如果为字符串类型,那么将会把0也拷贝过来,如上图右边调试的过程所示。
2、函数memset()的使用方法:
该函数的使用方法即把参数1中的内容用参数2中的值覆盖,覆盖的数量是由参数3来决定的。上图中输出的应该是“***** world”。需要注意的是参数2中不能传入一个字符串,因为在函数定义的时候参数2传入的应该是一个整型,一个字符传入的形式是ASCII码值,而一个字符串则就不是了,所以参数2不能写一个字符串。
3、利用自定义函数的方法实现两个数的值的交换。如a=15,b=35,交换后a=35,b=15。我们很容易想到以下的解决方案:
实际上这样写是交换不了的:
为什么呢?因为我们在自定义函数的时候传入到形参中时,形参定义的内存和我们在主函数中调用函数写入的实参的内存是不一样的,这就导致了在自定义函数中运算时交换数值实际上是在定义形参的内存中实现的,而真正我们想要交换的数值却一点都没有变化。因此我们可以用到之前学过的指针的知识来修补这种漏洞。如下(图片来自比特科技):
这样我们就可以“精准打击”了。