数组和指针
数组和指针的不同之处:
在使用数组和指针的时候,很多情况下数组和指针都是相通使用,所以我们说数组和指针有天生的姻缘,在讨论C语言数组和指针的不同点之后,我们再来回顾一下相同之处,这样就更加深入的掌握数组和指针。
------------------------------------------------------------------------------------------------
先来看一个简单的程序:
在a.c中我们定义了一个简单的数组;
----------------------------------- a.c ---------------------------------------------------------------------------
1 int a[5] = {1, 2, 3, 4};
----------------------------------- b.c ---------------------------------------------------------------------------
1 #include<stdio.h>
2
3 extern int a[5];
4
5 int main(int argv, char **argv)
6 {
7 printf("指针方式:a[2] = %d.\n", *(a+2));
8 printf("数组方式:a[2] = %d.\n", a[2]);
9 return 0;
10 }
这段代码很easy,轻松看出printf打印的值

将b.c修改,以指针的方式进行声明,
extern int a[5];修改为 extern int *a;
------------------------------- 修改后的b.c -----------------------------------------------------------------------------------
1 1 #include<stdio.h>
2 2
3 3 extern int *a;
4 4 //extern int a[5];
5 5
6 6 int main(int argc, char **argv)
7 7 {
8 8 printf("指针方式:a[2] = %d.\n", *(a+2));
9 9 printf("数组方式:a[2] = %d.\n", a[2]);
10 10 return 0;
11 11 }
这时候的运行结果还会和原来一样吗?
-------------------- 亮点 -------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------
为什么会发生段错误?可以思考下为什么。
---------------------------------------------------------------------------------------------------------------------------- 开始整理:指针和数组的不同
浙公网安备 33010602011771号