指针实际上是一个整数值,它代表一个位置(通常称为"地址")由操作系统分配的内存。
以排队为例。比如门口排队的人很多。我们可以从第一个排队的人开始给每个人一个唯一的号码,通过号码可以快速找到对应的排队人。
同样,当我们通过指针获取内存地址时,我们可以通过指针类型(char,int,long等)从这个内存位置提取指定位的二进制数据。),并且这些数据可以被程序执行使用。
使用指针的优点是"快速"和"灵活"。早期电脑的运算能力较弱,指针操作相对较快。但是在今天的电脑运行速度,快的优势不再明显。
但从灵活性来说,指针是c语言最有特色的函数之一,在字符串处理、函数调用和返回方面都非常灵活,简化了程序开发。
然而,灵活性也带来了管理上的困难。如果你不t注意指针操作,非常容易造成内存溢出等错误,导致程序崩溃(例如,对于包含五个字符的字符串,如果程序试图从指针地址获取第六个字符)。正因为如此,除了c和go,大多数c语言的后代或者继承者都不再提供指针,c#采用了不安全代码的折中方案,比如java和pyrhon。
如果出现内存警告提示,则存在以下问题。
1.操作系统问题:有漏洞或bug,可以通过修复漏洞或重装系统来解决;
2.软件兼容性:有些软件有系统要求或者环境要求,比如系统应该是32位还是64位,点网需要哪个版本,jre需要哪个版本等等。这个问题可以参考软件描述设置解决;
3.软件bug:软件有一个bug。这个问题只能默默观察,只能期待软件开发商尽快修复。
4.硬件故障:维修或更换。
5、内存不足:内存空间溢出,关闭一些程序,或者增加内存。