首页 > 代码库 > c语言指针函数与函数指针

c语言指针函数与函数指针

例一:函数指针

注意指针函数与函数指针表示方法的不同,千万不要混淆。最简单的辨别方式就是看函数名前面的指针*号有没有被括号()包含,如果被包含就是函数指针,若果没有括号包括*则是指针函数。

指针函数:当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。

#include "stdio.h"int * GetDate(int wk,int dy); int  main()        {            int wk,dy;            do            {                puts("Enter week(1-5)day(1-7)");                scanf("%d %d",&wk,&dy);            }            while(wk<1||wk>5||dy<1||dy>7);            printf("%d\n",*GetDate(wk,dy));        }int * GetDate(int wk,int dy)    {    static int calendar[5][7]=          {               {1,2,3,4,5,6,7},               {8,9,10,11,12,13,14},               {15,16,17,18,19,20,21},               {22,23,24,25,26,27,28},               {29,30,31,-1}            };            return &calendar[wk-1][dy-1];        }        

 

 

#include "stdio.h"int main(){   char a[]="abcdef";printf("这是数组元素的一个地址%x\n",a);printf("这是数组对象的一整个首地址%x\n",&a);printf("%d\n",sizeof(*(a+1)));printf("%d\n",sizeof((&a+1)));    return 0;    }

 

c语言指针函数与函数指针