数组和指针的一些总结

来源:互联网 发布:java 观察者模式例子 编辑:程序博客网 时间:2024/05/16 05:13

数组和指针是c语言的关键。最核心的一点。

数组不是指针,反之依然.

但是大部分情况下数组和指针可以转换互用.

下面写些不能互用的情况:

外部变量定义, int a[5]; extern int a[];//大小可不写      extern int*a//错误

数组是在栈区stack,指针是在堆区heap。

堆区往往比栈区大很多,优先使用。

 

指针可以互传,但是数组不能互传,拷贝只能用strcmp / memcmp等。

指针的互传必须要类型完全一致。比如 int a[5][5];  int b[][5]; a,b可以互传。int** c; a,c显然是不能互传的。

 

数组形式作为函数的形参,实际上是指针。 fun(int a[ ] ):a其实是一个指针。

原创粉丝点击