c语言的函数指针
- 简单定义并间接调用
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
void singasong()
{
printf("%s\n","我爱的你啊,我爱的你,你在哪里啊,在哪里~");
} void main()
{
void (*p)();//声明一个函数类型指针
p = singasong;//让指针指向定义的函数
p();//间接调用
system("pause");
}
输出结果:

- 直接调用
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
int gloabalnum = ;
int * getnum()
{
return &gloabalnum;
} void main()
{
time_t ts;//时间种子类型
int a[];
int *q = NULL;
srand((unsigned int) time(&ts));//随机生成时间种子
for (int i=; i < ; i++)
{
a[i] = rand() % ;
}
for (int i = ; i < ; i++)
{
printf("%d\n",a[i]);
}
q = themax(a,);
printf("最小数是:%d\n", *q);
printf("另外,全局变量是%d\n",*(getnum()));
system("pause");
}
输出结果:

- 字符串指针相互赋值
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
void singasong()
{
printf("%s\n","我爱的你啊,我爱的你,你在哪里啊,在哪里~");
}
char * mystrcpy(char * srcstr, char * targetstr)
{
char * laststr = NULL;
if (srcstr == NULL)
{
targetstr = "哟~您这源字符串空的啊~";
}
else
{
laststr = targetstr;
while (*srcstr != '\0')
{
*targetstr = *srcstr;
srcstr++;
targetstr++;
}
*targetstr = '\0';//还是很有必要,否则将跟随乱码
}
return laststr;
} void main()
{
//函数返回值是指针
char *z = (char*)malloc(sizeof(char));
char *q = (char*)malloc(sizeof(char));
z = mystrcpy("阿凡提",q);
printf("%s\n",z);
system("pause");
}

c语言的函数指针的更多相关文章
- c语言之函数指针应用
c语言之函数指针应用 1.函数指针与指针函数 在开始运用函数指针前,我们需要将两个概念即:函数指针与指针函数搞清楚. 函数指针,指明这个一个函数,但返回值为指针类型,语法格式为: 类型名* 函数名A( ...
- c语言之函数指针
一.基础研究 这里研究的内容是函数指针,需要我们在研究后构造程序来描述函数指针数组的用法和向函数传函数指针的方法. 指针有很多种:整型指针.结构体指针.数组指针等等,它们的本质是它们的值都是一个地址, ...
- 谈谈自己对C语言中函数指针的一些理解 (第一次写博客,有点小兴奋哈)
1.函数指针声明的格式及简单的使用 (1)格式:(返回值)(*函数指针名)(参数列表) 例如:声明一个无参数无返回值的函数指针(void)(*p)(void). (2)将函数指针指向某个无参数无 ...
- C语言的函数指针数组(好绕啊~看完这篇估计就通关了)
转自https://www.cnblogs.com/chr-wonder/p/5168858.html int *(*p(int))[3] 今天有人问这个是啥?我一看直接就懵逼了…… 下面做一些简单的 ...
- C语言基础:函数指针 分类: iOS学习 c语言基础 2015-06-10 21:55 15人阅读 评论(0) 收藏
函数指针:指向函数的指针变量. 函数名相当于首地址. 函数指针定义:返回值类型 (*函数指针变量名)(参数类型1,参数类型2,....)=初始值 函数指针类型:返回值类型 (*)(参数类型1,参数 ...
- c语言定义函数指针和typedef简写
二种方法来定义函数指针 #include<stdio.h> #include<stdlib.h> #include<Windows.h> int add(int a ...
- C语言之函数指针、回调函数的使用
一.背景 首先看下如下代码,这个定义是放在头文件的,在程序中tCdrvCallbackFkt也定义了另一个变量,而且括号后面还跟定义了几个变量,不理解这个定义. typedef void (PUBLI ...
- c语言的函数指针和函数指针数组的简单demo
今天,简单记录一下,函数指针和函数指针数组的使用,废话不多说,直接贴上代码,里面有详细的注释,方便以后查阅. #include <cstdio> #include <Windows. ...
- 可读性很强的C语言的函数指针定义
通常C/C++程序里面要用到大量的指针,其语法非常难以阅读.比如下面的vp指针类型: #include <iostream> using namespace std; typedef vo ...
随机推荐
- linux服务器搭建lnmp php 微擎环境备用
以前的时候装个php环境各种的配置麻烦啊,于是乎我就像搜搜一键安装php环境,果然 lamp 和phpstudy 两个环境软件都支持,最后发现lamp 还合胃口就选择了lamp https://lnm ...
- Python字符串图解
>>> word = "Python" >>> word[:2] # character from the beginning to posi ...
- 【Leetcode】53. Maximum Subarray
题目地址: https://leetcode.com/problems/maximum-subarray/description/ 题目描述: 经典的求最大连续子数组之和. 解法: 遍历这个vecto ...
- 11款航拍辅助APP【转】
盘点丨11款航拍辅助APP_宇辰网_让世界读懂无人机_全球专业无人机资讯|电商|大数据服务平台
- Harbor 批量清理历史镜像
公司 Harbor 仓库一年多没清理,硬盘被堆满了,为此写了个批量清除的 Python 脚本. 源代码见 github-harbor_clean.py # coding: utf-8 from ope ...
- PAT-1111 Online Map (30分) 最短路+dfs
明天就要考PAT,为了应付期末已经好久没有刷题了啊啊啊啊,今天开了一道最短路,状态不是很好 1.没有读清题目要求,或者说没有读完题目,明天一定要注意 2.vis初始化的时候从1初始化到n,应该从0开始 ...
- hdu 2132... 被基本问题考住了。。
Problem Description We once did a lot of recursional problem . I think some of them is easy for you ...
- Python之Flask
一.Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权. Flask是一个轻 ...
- 【转载】C#编程中两个List集合使用Intersect方法求交集
在C#语言程序设计中,List集合是常用的集合数据类型,在涉及集合类型的运算中,有时候我们需要计算2个List集合中共有的数据,即对2个List集合求交集运算.此时可以使用C#语言提供的Interse ...
- js实现图片的Blob base64 ArrayBuffer 的各种转换
一.相关基础知识 构造函数 FileReader() 返回一个新构造的FileReader 事件处理 FileReader.onabort 处理abort事件.该事件在读取操作被中断时触发. Fil ...