标签:函数指针 与 指针函数
/*-----函数指针 + 出参-----*/ #include <stdio.h> #include <string.h> #include <stdlib.h> char *GetString(char **p) { *p = (char *)malloc(11); strcpy(*p,"hello world"); return *p; } int main() { char *pStr = NULL; char *pStr2 = GetString(&pStr); printf("----pStr=[%s]\n",pStr); printf("----pStr2=[%s]\n",pStr2); if(NULL != pStr) { printf("---free pStr---\n"); free(pStr); } if(NULL != pStr2) { printf("---free pStr2---\n"); free(pStr2); } return 0; } /*-----指针函数------*/ #include <stdio.h> #include <stdlib.h> #include <string.h> int Add(int iX,int iY) { return (iX + iY); } int Sub(int iX,int iY) { return (iX - iY); } int Div(int iX,int iY) { return (iX / iY); } int Mul(int iX,int iY) { return (iX * iY); } int Fun(int iX,int iY,int (*fun)(int,int)) { int iRet = 0; iRet = (*fun)(iX,iY); } int main() { int iRet = 0; int iX = 10,iY = 2; iRet = Fun(iX,iY,Add); printf("--Add--iRet=[%d]\n",iRet); iRet = Fun(iX,iY,Sub); printf("--Sub--iRet=[%d]\n",iRet); iRet = Fun(iX,iY,Div); printf("--Div--iRet=[%d]\n",iRet); iRet = Fun(iX,iY,Mul); printf("--Mul--iRet=[%d]\n",iRet); return 0; }
标签:函数指针 与 指针函数
原文地址:http://ayang.blog.51cto.com/4224455/1652822