本次学习内容为在一个文件里创建一个功能函数,需要实现该功能的地方就直接调用该函数,当然这个功能函数也可以创建在其他文件中,这是之后的学习内容。
在这里将需要用到指针、地址的概念。指针也就是内存地址,指针变量是用来存放内存地址的变量,而不是值。因此当我们定义一个变量的时候,我们其实定义的是该变量指向的对象的首地址。
例如:
int i=0x12345678;int *p=&i ;
printf("%d",i);
打印结果为:0x12345678;
printf("%d",&i);
打印结果为:0x004ffed0 ;
printf("%d",p);
打印结果为:0x004ffed0 ;
要求:创建一个函数,使其同时可实现两数相加a+b和相乘a*b的功能。
实现代码如下:
int add(int x,int y,int *result1,int *result2)
{
*result1=x+y;
*result2=x*y;
return 0;
}
以上仅是进行两种运算功能,将运算结果放在两个地址中,但是如果需要进行成百上千种功能,是不可以一一例举出来的,那么应该如何实现,后续再进行学习。
当功能函数完成后,后续程序中需要调用时直接使用z=add(x,y,result1,result2)即可实现上述功能。
此次程序还对文件的打开进行了优化,使用fopen_s替代fopen:
before:fp = fopen(“file.txt”,“w+”);
after:err = fopen_s(&fp,“file.txt”, “w+”);
if (0 != err)
return 0;
此次程序如下:
要求:首先将0-9的数组存储到txt文件中,然后读取打印,再经过一个函数进行处理后,存到另一个文件中。
#include<stdio.h>
#