c语言中指针占多少个字节

Python014

c语言中指针占多少个字节,第1张

指针字节数和编译器有关.

如果是16位编译器,那么指针占2字节.

如果是32位编译器,那么指针占4字节

如果是64位编译器 那么指针占8字节.

即 指针位数和编译器位数相同.

指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关。

比如:以前是16为地址,指针即为2个字节;现在是32位系统,则就为4个字节,64位32位系统,则就为8个字节。

扩展资料:

使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能,例如在遍历字符串,查取表格,控制表格及树状结构上。对指针进行复制,之后再解引用指针以取出数据,无论在时间或空间上,都比直接复制及访问数据本身来的经济快速。

指针的机制比较简单,其功能可以被集中重新实现成更抽象化的引用(reference)数据形别。许多编程语言中都支持某种形式的指针,最著名的是C语言,但是有些编程语言对指针的运用采取比较严格的限制,如Java一般避免用指针,改为使用引用。

有两种含义,一是作为数据类型,二是作为实体。

指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。指针一般出现在比较底层的程序设计语言中,如C语言。高层的语言如Java一般避免用指针,而是引用。

指针作为数据类型,可以从一个函数类型、一个对象类型或者一个不完备类型中导出。从中导出的数据类型称之为被引用类型(referenced type)。指针类型描述了一种对象,其值为对被引用类型的实体的引用。

参考资料:百度百科 指针

一个指针变量在内存中占两个字节(small模式编译),一个指针变量在内存中占四个字节(32位机器上),一般都是32位机器的,所以四个字节咯。

指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关。

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。

扩展资料

1、指针的类型

从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:

(1)int*ptr//指针的类型是int*

(2)char*ptr//指针的类型是char*

(3)int**ptr//指针的类型是int**

(4)int(*ptr)//指针的类型是int(*)

(5)int*(*ptr)//指针的类型是int*(*)

2、指针所指向的类型

当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。

从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:

(1)int*ptr//指针所指向的类型是int

(2)char*ptr//指针所指向的的类型是char

(3)int**ptr//指针所指向的的类型是int*

(4)int(*ptr)//指针所指向的的类型是int()

(5)int*(*ptr)//指针所指向的的类型是int*()

参考资料来源:百度百科-指针