简略信息一览:
如果编程语言没有提供指针类型
1、编程语言没有提供指针类型,也能构造链式结构。现代通用电子计算机在程序运行时将所需数据存储于内部存储器(内存)中。
2、将传统的“对象类型”与“对象指针”进行区分,Java将对象指针简化为直接的对象变量,这不仅是概念的淡化,也是为了降低编程复杂性。没有了指针的显式运算符,如*和-,但底层操作依然存在,只是以更加直观和安全的方式呈现。
3、不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。
4、void 被翻译为无类型,相应的void * 为无类型指针。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void 的作用 对函数返回的限定,这种情况我们比较常见。对函数参数的限定,这种情况也是比较常见的。
5、指针 JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全。
C语言的指针有什么用?编程不一定要用指针吧?请高手指点一下。_百度知...
指针是值得重视的。编程不一定用指针,可以用数组。但是,对编程来说,一般指针就占用4个字节,保存某个变量、结构体甚至是函数的地址。程序运行,直接按地址跳转是非常快的,效率很高。
第二,指针使得一些复杂的链接性的数据结构的构建成为可能,比如链表,链式二叉树等等。第三,有些操作必须使用指针。如操作申请的堆内存。还有:C语言中的一切函数调用中,值传递都是“按值传递”的。如果要在函数中修改被传递过来的对象,就必须通过这个对象的指针来完成。
你可以将指针变量看做一般的整数变量来理解,用来保存一个整数(地址是个整数),只是,该整数代表着某地址,在这里是a的地址。在C/C++中很灵活,但是也很危险,也很难学,如果指针指向错误的地址会引起程序崩溃,因此在C#中已经被微软封装了,但内部还是有指针的。
C语言的指针有什么优缺点?
1、因为指针通过地址传递参数,如果不用指针传送速度慢。
2、对数组来说,a[0]和*a具有相同效果,a[0]相当于地址指针,一般来说速度是相对快一些的。因为引用其他变量时也是先找到地址来使用。用指针来使用变量时,作实参,则修改形参能达到修改实参的作用。直接用变量则不具有此效果。因为指针作实参传递的是地址。
3、int a;int *p = 指针p是一个变量,里面存的是一个地址,这个地址是a的地址。通过取值运算符*就可以用p访问a。
C语言的指针,在写51单片机程序用得上吗?
用得上,单片机的C语言只是针对单片机将部分地方优化了一下(关键字之类),语句的表述还是严格的C,指针的使用可以使程序更加的清晰,编写更加容易。“因为是只是为了写单片机的程序,不想开发软件.”你这话说的有问题,写单片机程序就是软件开发的一种。
可以的。在51单片机的嵌入式C语言中,指针同样是被支持的。所以在单片机上一样可以使用指针操作,具体使用方法,与标准C语言并没有不同。不过需要注意的是,使用指针代表着间接寻址,相对变量的直接寻址,速度要稍慢一些。而单片机运算速度较慢,大量使用指针有可能会降低执行效率,影响效果。
你好,比较方便的实现方式是在函数的外部申请数组;在调用函数的时候传入数组的地址进行操作。如果一定要在子函数内部申请空间并返回地址,那么需要在子函数内部动态申请内存空间。具体的方法一般是使用标准库中的malloc函数。
unsigned int * const DATA=(unsigned int *)0x8a;你只要对*DATA进行操作就是TL0操作了!因为0X8A就是TL0的地址。
编程的目的是让51单片机运行,在记忆中我只记得51单片机可以运行C语言和汇编,其实C语言编译后也就是汇编,在单片机上运行的只是一个个指令,简单的用51,复杂的用arm处理器。
--说 PC 不能被用户使用,实际上是他不会用。--51 单片机里面,确实没有 PC 的地址,因为,谁都不需要这个地址。MOV 20H,@DPTR 这个语句错了是因为DPTR只能用于片外寻址么 --这个指令,并不存在。DPTR只能用于片外寻址么 --查一下指令表,就知道了。
关于编程语言支持指针吗和写程序指针的介绍到此就结束了,感谢你花时间阅读本站内容,更多关于写程序指针、编程语言支持指针吗的信息别忘了在本站搜索。