C语言,函数指针程序设计,帮忙编写几道题

C语言,函数指针程序设计,帮忙编写几道题,第1张

#include <stdioh>

#include <conioh>

#define ARR_LEN 50 /数组长度上限/

/ 比较字符串长度 /

int myStrcmp (char des[], char src[]) {

int i=0, j=0, k=0;

int desLen=0, srcLen=0;

/求对比数组长度/

while (des[i++])

desLen++;

while (src[j++])

srcLen++;

return (desLen-srcLen);

}

int main (void) {

char str1[ARR_LEN];

char str2[ARR_LEN];

gets (str1);

gets (str2);

printf ("%d\n", myStrcmp (str2,str1));

getch (); /屏幕暂留/

return 0;

}

一般指针函数形为datatype fuctionname(),其中datatype为数据类型如int,

结尾一般是return &(something):返回一个地址

函数指针告诉CPU下一步需要执行哪里的代码的指针, 一数组十分相像

#include <stdioh>

void function(int i, double d)    //一个函数的声明

{

    printf("函数运行, %d, %lf\n", i, d);

}

void AnotherFunction(int i, double d)    //另外一个函数声明

{

    printf("又一个函数运行, %d, %lf\n", i, d);

}

int main()

{

    void (pFun)(int, double);    //定义了一个函数指针

    int (p)(int , double);    //用于调试的函数指针

    pFun = function;    //让这个函数指针指向第一个函数

    pFun(10, 10101);    //通过这个函数指针来调用第一个函数

    

    pFun = AnotherFunction;    //让这个函数指针指向第二个函数

    pFun(20, 20202);    //通过这个函数指针来调用第二个函数

    

    //若将以下代码取消注释, 就会产生错误

    /

    p = function;

    p = AnotherFunction;

    //原因很简单, 因为p是必须指向一个返回值为int, 第一个参数为int, 第二个参数为double的函数, 但是在此代码中定义的函数返回值是void

    /

    

    //这个实验中, 直接用函数名来赋值了, 是因为函数名其实就是这个函数的指针

    //而在平常调用函数时, 都要加上(), 如:printf("");

    //这里, "()"就相当于''(就是取值运算符), printf是函数指针, 就相当于是数组名, 即数组的首地址

    

    return 0;

}

以上就是关于C语言,函数指针程序设计,帮忙编写几道题全部的内容,包括:C语言,函数指针程序设计,帮忙编写几道题、指针函数程序结尾咋写、c语言的函数指针举个例子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10117796.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存