C语言函数指针实现函数参数化

706 篇文章 ¥99.90 ¥299.90
80 篇文章
本文探讨了如何使用C语言的函数指针实现函数参数化,通过创建一个process_array函数,该函数接受一个整型数组、数组大小和一个函数指针作为参数。函数指针用于在遍历数组时动态改变元素的行为。在示例中,数组的每个元素被传给指定函数,其返回值再存回原数组,最终打印出处理后的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前学习了基本的函数指针;函数指针有多种用途;下面看一下函数参数化;

函数参数化是指通过函数指针将函数的某些行为参数化。这样可以在调用函数时动态地指定函数的行为。

新建一个单文档工程;下述增加的函数声明加到视类cpp文件的头部,函数体加到视类cpp文件的尾部,在OnDraw()函数中调用输出;

void process_array(int *, size_t , int (*process)(int));
int increment(int );

......

void CHshcshhView::OnDraw(CDC* pDC)
{
	CHshcshhDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	int col=0;

	int array[] = {100,200,300,400,500};
	size_t size = sizeof(array) / sizeof(int);
	process_array(array, size, increment);

	for(size_t i=0; i<size; i++)
	{
		str1.Format("%d", array[i]);
		pDC->TextOut(20+col*50, 50, str1);
		col = col + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值