• C语言指针和数组的关系


    数组

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

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

  • 相关阅读:
    【tyvj1952】easy
    【noip2005】篝火晚会
    BZOJ4818: [Sdoi2017]序列计数
    BZOJ2436: [Noi2011]Noi嘉年华
    BZOJ4826: [Hnoi2017]影魔
    BZOJ4540: [Hnoi2016]序列
    BZOJ4827: [Hnoi2017]礼物
    BZOJ3527: [Zjoi2014]力
    BZOJ4407: 于神之怒加强版
    BZOJ1854: [Scoi2010]游戏
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4984678.html
Copyright © 2020-2023  润新知