• 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");
           
           }

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

  • 相关阅读:
    maven scope 作用域
    MySQL数据库时区问题导致java程序无法连接数据库
    详细地址正则表达式
    java 重新学习 (七)
    .NET 多平台应用 UI介绍
    WPF关键帧动画
    RFID EPC Gen2 搜索模式和会话
    Razor 常用语法介绍
    Blazor 数据验证(6)
    Blazor 路由与页面导航(5)
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4984678.html
Copyright © 2020-2023  润新知