C语言指针和数组的关系

数组

#include <stdio.h>
main(){
       char c[6] = {'h','e','l','l','o','\0'};
       printf("第一个字符是%c\n在内存中的地址为%x\n",c[0],&c[0]);
        printf("第二个字符是%c\n在内存中的地址为%x\n",c[1],&c[1]);
         printf("第三个字符是%c\n在内存中的地址为%x\n",c[2],&c[2]);
          printf("第四个字符是%c\n在内存中的地址为%x\n",c[3],&c[3]);
           printf("第五个字符是%c\n在内存中的地址为%x\n",c[4],&c[4]);
            printf("第六个字符是%c\n在内存中的地址为%x\n",c[5],&c[5]);
            printf("数组的开始内存%x\n",c);
            /*
            输出结果: 
            第一个字符是h
            在内存中的地址为28ff30
            第二个字符是e
            在内存中的地址为28ff31
            第三个字符是l
            在内存中的地址为28ff32
            第四个字符是l
            在内存中的地址为28ff33
            第五个字符是o
            在内存中的地址为28ff34
            第六个字符是
            在内存中的地址为28ff35
            数组的开始内存28ff30
            根据输出结果我们可以知道数组是一段连续的内存空间。
            数组名就是内存首地址 
             数组名就是一个指针变量 
            */
            
            printf("用指针输出字符数组第一个%c\n",*c);
              printf("用指针输出字符数组第二个%c\n",*(c+1));
                printf("用指针输出字符数组第是三个%c\n",*(c+2));
                /*
                用指针输出字符数组第一个h
                用指针输出字符数组第二个e
                用指针输出字符数组第是三个l
                请按任意键继续. . .
                
                */
       system("pause");
       
       }

 

是一段连续的内存空间。
            数组名就是内存首地址
             数组名就是一个指针变量

posted @ 2015-11-21 20:46  aaddrrooiidd  阅读(293)  评论(0编辑  收藏  举报