指针运算拾遗 ||

指针运算拾遗 ||

一、题目
1、*++p;
2、++*p;
3、*p++;
4、(*p)++;
5、++*++p;
6、++*p++;

二、分析
1、*++p; 相当于 *(++p);
2、++*p; 相当于 ++(*p); 即 *p = *p + 1;
3、*p++; 相当于 *(p++);
4、(*p)++; 就是本身的意思, 注意区分 *p++; 与 (*p)++;
5、++*++p; 相当于 ++(*(++p));
6、++*p++; 相当于 ++(*(p++));

三、验证代码

	int a[] = { 10, 20, 30, 40, 50 };
	int n = sizeof(a) / sizeof(a[0]);
	int *p = a;
	cout << *p++ << "\t" << *p << endl;  // *p++  : 即 *(p++), 相当于两步操作: 第一步: p++; 第二步: *p;
	disp(a, n);
	int *p1 = a;
	cout << ++*p1 << "\t" << *p1 << endl; // ++*p1 : 即 ++(*p1), 即: *p1 = (*p1) + 1;
	disp(a, n);

	int b[] = { 10, 20, 30, 40, 50 };
	int n2 = sizeof(b) / sizeof(b[0]);
	int *p2 = b;
	cout << (*p2)++ << "\t" << *p2 << endl;
	disp(b, n2);

	int c[] = { 10, 20, 30, 40, 50 };
	int n3 = sizeof(c) / sizeof(c[0]);
	int *p3 = c;
	cout << ++*++p3 << "\t" << *p3 << endl;//21 21
	//++*++p3:  ++(*(++p3)) 
	//(1):++p3,p3指向了a[1], 
	//(2):*(++p3),取a[1]中的值,20
	//(3):++(*(++p3)),对a[1]中的值进行自加1,21
	disp(c, n3);

	int d[] = { 10, 20, 30, 40, 50 };
	int n4 = sizeof(d) / sizeof(d[0]);
	int *p4 = d;
	cout << ++*p4++ << "\t" << *p4 << endl;//11 20
	// ++*p4++ : ++(*(p4++))
	//(1) p4++,该表达式结束后,指针p4指向a[1](数组a当前位置的下一个位置),在该表达式中,p4仍指向当前位置a[0]
	//(2) *(p4++),取a[0]中的值,10
	//(3) ++(*(p4++)),对a[0]中的值进行自加1操作,11
	//到第二个 *p4, 取p4指针所指地址中的值时,p4就指向了a[1], *p4,就是取a[1]中的值,20
	disp(d, n4);
}
/*
10      20
10      20      30      40      50
11      11
11      20      30      40      50
10      11
11      20      30      40      50
21      21
10      21      30      40      50
11      20
11      20      30      40      50
请按任意键继续. . .
*/
内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值