2016 - 2024

感恩一路有你

c语言指针数组经典题目详解 c语言数组和指针的存储区别?

浏览量:3321 时间:2023-07-10 15:05:34 作者:采采

c语言数组和指针的存储区别?

区别:C语言把内存分为四个区域,它在内存的堆栈区域存储一般的变量和数组,所以数组在C语言的定义中只是一组相同类型的常用变量,即使这个变量可能是指针。所以它的作用比指针小很多,指针可以指向任何区域的任何数据,所以你会觉得指针很像数组名,但是必须注意数组名只是指针中的一个,只指向堆栈区域,指针的移动范围有限,也就是数组长度。而且,数组在定义之初就有自己的内存。如果通用指针不指向某个内存块,那么它就没有自己的内存,也就是所谓的野指针。

联系:如上所述,数组只是一个定义在堆栈区的连续变量,它的第一个地址是指针。

总结:不仅数组有指针,所有变量都有指针。指针是内存中的地址,就像一个房间必须有房间号一样。在C/C语言中定义一个指针,就是在堆栈区打开一个内存空间来存储它所指向的内存地址,然后给指针赋值,也就是把地址值赋给刚刚打开的内存空间,然后通过访问内存中的地址值来间接访问地址下存储的数据。如果地址值指向一个静态存储区,比如一个字符串常量,当然可以 不要修改指向的内容。

指针 内存 地址 区域 变量

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。