用指针方式编写C语言函数的实现

PHPz
发布: 2024-01-24 21:39:05
转载
1036 人浏览过

用指针方式编写C语言函数的实现

用指针方式编写C语言函数的实现

int find(char* source/*源串*/, char* target/*子串*/)//找到返回在源串中的位置,未找到返回-1,如果要改为找到返回1,把return i改为return 1;

{

int i,j;

int s_len=strlen(source);

int t_len=strlen(target);

if(t_len>s_len)

{

return -1;

}

for(i=0;i

{

j=0;

int flag=1;

if(source[i]==target[j])

{

int k,p=i;

for(k=0;k {

if(source[p]==target[j])

{

p++;

j++;

continue;

}

else

{

flag=0;

break;

}

}

}

else

{

continue;

}

if(flag==1)

{

return i;

}

}

return -1;

}

利用指向函数的指针编程

函数指针有时候是很有用的,比如在结构体中定义函数指针就可以在C语言中实现类似C++的类成员函数的特性.

下面的程序定义了一个函数指针数组,根据输入数字的余数(1或0),不用if else就能调用相应的函数了.

// 输入为奇数

void FuncOdd(int n)

{

float i, nIterator = 0;

printf("You entered an odd number.n");

for (i = 1; i {

nIterator+=1/i;

}

printf("And the result is: %fn",nIterator);

}

// 输入为偶数

void FuncEven(int n)

{

float i, nIterator = 0;

printf("You entered an even number;n");

for (i = 2; i {

nIterator+=1/i;

}

printf("And the result is: %fn",nIterator);

}

int main()

{

int nInput = 0; // 存放输入的数字

void (*func[2])(int); // 定义函数指针,指向两个不同的函数

func[0] = FuncEven;

func[1] = FuncOdd;

printf("Please input a number:"); // 从控制台获取输入

scanf("%d",&nInput);

(*func[nInput%2])(nInput); // 根据输入数字调用相应函数

return 0;

}

c语言指针用法

int top 应不属于指针的范畴了,而是int的常用变量的定义,这个top要看是怎么用法,如果按照负数,0,正数来使用的话,可以判断它是用来做为这个类的一个特殊的定义标识; 如果这个变量是一个循环里面的的计数器的话(意思就是随着循环的次数增多或者减少)就可以判断这个循环成功的执行的多少次了

Reader是一个类名,意思类也是一种数据类型

就像整型int一样是一个数据类型名称

Reader read[Maxr];意思是定义了一个这样类的数组变量,Marxr 估计就是一个宏定义好的一个数值

为什么可以这样定义呢,应为class可以包含任意的数据类型(和c里面的struct一样),也包括外部class

以上是用指针方式编写C语言函数的实现的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:docexcel.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板