数组和指针
数组和指针的不同之处:
在使用数组和指针的时候,很多情况下数组和指针都是相通使用,所以我们说数组和指针有天生的姻缘,在讨论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号
浙公网安备 33010602011771号