C语言基础知识:指针和数组的区别是什么? 在C语言教程中我们使用通过数组名通过偏移和指针偏移都可以遍历数组,那么指针和数组到底有什么区别?? 由于数组中的数据在内存中都是连续存放的,数组名默认就是数组的首地址,也是一个特殊的指针;
二.指针和数组区别 1.通过 sizeof 大小 不管是数组还是指针变量,计算大小的时候都可以通过sizeof函数,注意两者使用的区别: a.计算数组大小 数组所占存储空间的内存:sizeof(数组名); 数组的大小:sizeof(数组名)/sizeof(数据类型)
b.计算指针大小 在 32 位平台下,无论指针的类型是什么,sizeof(指针名)都是 4 ,在 64 位平台下,无论指针的类型是什么,sizeof(指针名)都是 8 ;
由此可见,sizeof函数计算指针大小的时候,与数据变量类型无关,x86平台下指针大小始终为4,x64平台下指针大小始终为8; 2.指针和数组赋值方式不同 a.指针赋值 指针很灵活,它可以指向任意类型的数据。指针的类型说明了它所指向地址空间的内存。 b.数组赋值 数组在内存中是连续存放的,开辟一块连续的内存空间。数组可以根据数组的下进行访问,多维数组实际上由多个一维数组够成,数组的赋值这里不再重复讲解。 3.指针是指针变量,数组是指针常量 常量:常量的值始终是固定的,不能被修改; 变量:变量的值可以任意修改; 那么指针和数组区别在哪呢?
写法一是正确的,常规操作; 写法二是错误的,数组名默认指向数组的首地址,是不能背修改的; 总结:所以说数组是指针常量,不能被修改;指针是变量可以被随意修改; 为了帮助大家,轻松,高效学习C语言/C++,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘! :C语言编程学习基地 C语言零基础入门教程(83集全) 整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程) 欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!大家也要把握住大学的时光,抓住成长的每一次机会哦~ 编程学习视频分享:
粉丝编程交流:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/22828.html