C/C++编程笔记:C语言中的指针和数组之间的区别?
2020-11-29 22:10 作者:C语言编程__Plus | 我要投稿
指针用于存储动态分配的数组的地址,以及用于作为参数传递给函数的数组。在其他情况下,数组和指针是两个不同的东西,请参见以下程序以证明此语句的合理性。

sizeof运算符的行为
C

C ++

输出:
arr []的大小24
ptr 8的大小
不允许将任何地址分配给数组变量。
C

输出:
编译器错误:分配给时类型不兼容
从'int *'类型输入'int [2]'
尽管数组和指针是不同的东西,但是数组的以下属性使它们看起来相似。
数组名称给出数组第一个元素的地址。
例如,考虑以下程序。
C

C++

输出
第一个元素的值为10
使用指针算法访问数组成员。
编译器使用指针算法访问数组元素。例如,像“ arr [i]”之类的表达式被编译器视为*(arr + i)。这就是为什么像*(arr + i)这样的表达式可用于数组arr,而像ptr [i]这样的表达式也可用于指针ptr的原因。
C

C++

输出:
arr [2] = 30
*(arr + 2)= 30
ptr [2] = 30
*(ptr + 2)= 30
数组参数始终作为指针传递,即使我们使用方括号也是如此。
C

输出:
sizeof(arr)= 24
sizeof(ptr)= 4
* ptr = 10
有关更多详细信息,欢迎持续关注哦~
另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!

另外,UP在主页上传了一些学习C/C++编程的视频教程,有兴趣或者正在学习的小伙伴一定要去看一看哦!会对你有帮助的~
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
编程学习书籍分享:

编程学习视频分享:
