• 开马结果_开马结果【邀请好友送大礼】

  • 发布时间:2016-01-22 00:09 | 作者:yc | 来源:互联网 | 浏览:1200 次
  • 开马结果_开马结果【邀请好友送大礼】

    例:

    #include

    int main()

    {

    开马结果_开马结果【邀请好友送大礼】char *p[7];

    char arr[] = "abcdef";

    int i = 0;

    for (i = 0; i

    int main()

    {

    char arr[6] = "abcde";

    char(*p)[6] = &arr; //数组指针才能取数组的地址

    很大略稠浊的观点原先并不难理解

    1,指针数组;

    看字面意思就知道这必然是一个数组,里边的原酸整个是指针

    例如,界说一个大略的指针数组

    char*p[10];//这等于一个包括十个字符指针的数组

    printf("%s", *p);

    }

    这个大略的法度榜样终极的输出成果当然是arr字符数组中的内容了

    颠末数组指针也能变动数组中的内容,关于上面的法度榜样*((*p)+1)='a';就把第二个元素改成了‘a’;*p便是arr的地址

    3,函数指针

    相同,从姓名上看,这便是一个指向函数的指针,他是怎么界说的呢,

    例:

    int num(int a,int b)

    {

    return a+b;

    }

    int mian()

    {

    int (*p)(int ,int )=num; //这便是一个指向num函数的一个函数指针了,int 是函数的返回值,

    后边是数据类型,它所指向的函数有需要和他有相同的返回值和数据类型

    int ret=(*p)(10,20);

    printf("%d",ret);//成果是30.

    }

    4,函数指针数组

    从姓名上也能看楚这重如果一个数组,数组元素是指针,而每一个指针都指向了一个中彩堂现场开奖函数,这个费事的器械有啥用了,

    事实证实他在某些当地十分有用途,重要来看他是怎么界说的

    例:

    int (*p[4])(int ,int)

    //这便是一个有4个元素的函数指针数组了,这个数组中的每一个指针指向的函数有需如果相同的数据类型和返回值

    具体有啥用咱们来看一段代码

    这个代码是一个大略的谋略器

    #include

    void print_menu()

    {

    printf("奸淫奸淫奸淫奸淫奸淫奸淫奸淫*\n");

    printf("奸淫 1.add2.sub奸淫\n");

    printf("奸淫 3.mul4.div奸淫\n");

    printf("奸淫奸淫* 0 exit奸淫奸淫\n");

    printf("奸淫奸淫奸淫奸淫奸淫奸淫奸淫*\n");

    }

    int add(int x, int y)

    {

    return x + y;

    }

    int sub(int x, int y)

    {

    return x - y;

    }

    int mul(int x, int y)

    {

    return x * y;

    }

    int div(int x, int y)

    {

    if (y == 0)

    {

    printf("除数为0\n");

    return -1;

    }

    return x / y;

    }

    int(*pfun[5])(int, int) = {0,add, sub, mul, div};

    //函数指针的数组(搬运表)

    int main()

    {

    int input = 1;

    while (input)

    {

    int n1 = 0;

    int n2 = 0;

    i如意娱乐登陆nt ret = 0;

    print_menu();

    printf("请遴选>:");

    scanf("%d", &input);

    printf("请输入两个操作数>:");

    scanf("%d%d", &n1, &n2);

    ret = pfun[input](n1, n2);

    /*switch (input)//要是不必函数指针数组便要用switch来完成,能够看出要是谋略器功能许多,那么

    代码也会适当伟大年夜

    {

    case 1:

    ret =add(n1,n2);

    break;

    case 2:

    ret = sub(n1, n2);

    break;

    case 3:

    ret = mul(n1, n2);

    break;

    case 4:

    ret = div(n1, n2);

    break;

    }*/

    printf("ret = %d\n",ret);

    }

    return 0;

    }

    能够看出此刻函数指针数组大年夜大年夜削减了代码的长度

    这篇文章出自 “痕迹” 博客,请必须保存此出处http://wpfbcr.blog.51cto.com//

  • 相关内容

友情链接: