特殊指针返回

来源:互联网 发布:知柏地黄丸能壮阳吗 编辑:程序博客网 时间:2024/05/20 18:42

一直以为函数返回一个指向数组的指针简单,今天在论坛上看到别人的提问的帖子才引起我的思考,原来并不是我所想象的那样

(int *)[4] function();
正确的声明是这样的

int (*function())[4];

这样才表示一个返回类型为指向4个成员的整型数组的指针函数。这个函数的具体实现。

#include<stdio.h>//给每个成员的值都+1int (*fun(int (*ptr)[4]))[4]{    int i;    int (*p)[4];    p= ptr;    for(i =0; i<4; i++)        (*p[i])++;    return p;}int main(void){    int a[4] ={2,5,3,6};    printf("%d\n",**fun(&a));    return 0;}



0 0