问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中指针有哪些用处。或者可以用来做什么,请简单举例说明

发布网友 发布时间:2022-02-28 13:53

我来回答

2个回答

懂视网 时间:2022-02-28 18:14

在C语言中,指针的使用非常广泛,使用指针往往可以生成更高效、更紧凑的代码。

1、指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;

2、C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;

3、C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象,但是这种操作可以由指针来完成,而且并不违背传值调用。

总结

在C语言中,指针的使用非常广泛,使用指针往往可以生成更高效、更紧凑的代码。

热心网友 时间:2022-02-28 15:22

指针可以快速访问数组中的元素,想访问下一个,就自加1,上一个就自减1,下一行就自加一行,上一行就自减一行,特别适用快速逐点处理图像,
如:unsigned char img[1024][768],*p; int i,j; p=(unsigned char *)img; for ( i=0;i<1024;i++) for ( j=0;j<768;j++,p++ ) *p+=16;
指针还可以用不同类型来访问同一组数据:
unsigned char a[4],*p; unsigned int *q; p=a; *p=0x12; p++; *p=0x34; p++; *p=0x56; p++; *p=0x78; q=(unsigned int *)a; printf("%xH",*q);会输出十六进制数78563412H
另外指针可以用于给函数传递数组起始地址、结构地址、类地址、结构数组地址,这些复杂数据组合,函数返回值也是这样,另外利用指针还能不从数组起始地址开始传入数组。比如:char str[]; scanf("%s",str); printf("%s\n",str+1);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机壁纸花卉红色手机壁纸花卉 辽宁智能五芯防水连接器 军工产品浅谈——航空插头 xp电脑系统修复XP系统怎么恢复出厂设置 ...表编辑器后打不开任何文件,无需重装系统,电脑盲都能用 粼基本信息 粼五笔怎样打? 【微科普】想变成光?先搞清楚光是什么吧! 手机被拉黑后打电话是什么提示? 物流管理专业对数学的要求高么 C语言中的指针有什么意义? 怎么才能把对方的注销 手机号申请的如何注销 c语言编译器是用什么语言编写的 怎么把注销了 不是退出 是让他彻底消失 现在学习C语言,编译器都用什么啊? 不要了怎么注销 怎么注销别人? 现在C语言一般都用的什么编译软件? 如何注销本人另外的? 微软用什么C语言编译器 可以注销么?用手机号注册的怎么注销啊? 有哪些比较好用的c语言编译器 不想玩微信了,怎样才能注销? C语言二级用什么编译器好? 怎么注销 c语言代码用哪个编译器都不能编译了 C语言用什么编译器最好 怎样把注销掉 c语言编译器哪个好??? C语言中指针是什么 c语言为什么要有指针呢? C语言指针是什么? C语言中指针有什么特别的地方 在C语言中,exit(0)是什么意思? c语言中,exit(1)是什么意思?求助~ C语言中:函数exit(-1);与exit(0);的区别是什么?是返回值吗? C语言属于哪一类语言? 手机照片回收站清空了能恢复吗? C语言和C++语言的区别是什么? C语言语言中FOR的用法 C语言中的for语句 用法 急!c语言多个for语句的用法。 C语言for循环详细讲解 C语言中,for语句的用法? c语言中for语句是怎么用的? C语言中,for的使用问题? C语言for循环的使用和讲解有哪些? C语言和java语言的区别和联系? java 和c语言的主要区别在哪呢?