zoukankan      html  css  js  c++  java
  • 数组本质分析

     
    • 数组是相同类型变量的有序集合,例如:int a[5];
    1. a代表数组第一个元素的起始地址
    2. 有5个int类型的数据,且是5个连续的内存空间。
    3. 这个20个字节的空间的名字叫a,a[0],a[1]都是数组中的元素,数组中的元素没有名字
    • 数组的大小
    1. 数组在一片连续的内存空间中存储元素
    2. 数组元素的个数可以显式或隐式指定:int a[5] = {2,3}; int b[] = {1,2};
     1 #include <stdio.h>
     2 int main()
     3 {
     4      int a[5] = {1,2};
     5      int b[] = { 3, 4 };
     6      printf("a[2]=%d
    ",a[2]);
     7      printf("a[3]=%d
    ",a[3]);
     8      printf("sizeof(a)=%d
    ",sizeof(a));
     9      printf("sizeof(b)=%d
    ", sizeof(b));
    10      printf("数组a的元素个数=%d
    ",sizeof(a)/sizeof(a[0]));
    11      printf("数组b的元素个数=%d
    ", sizeof(b) / sizeof(b[0]));
    12      printf("&a=%p
    ",&a);
    13      printf("&a[0]=%p
    ", &a[0]);
    14      printf("a=%p
    ",a);
    15      return 0;
    16 }
    17 运行结果:
    18 a[2]=0
    19 a[3]=0
    20 sizeof(a)=20
    21 sizeof(b)=8
    22 数组a的元素个数=5
    23 数组b的元素个数=2
    24 &a=004FF9F4
    25 &a[0]=004FF9F4
    26 a=004FF9F4
    27 请按任意键继续. . .
    • 数组地址与数组名
    1. 数组名代表数组首元素的地址
    2. 数组的地址需要用取地址符&才能得到
    3. 数组首元素的地址和数组的地址相同
    4. 数组首元素的地址和数组的地址是两个不同的概念
    • 数组名的盲点
    1. 数组名可以看做一个常量指针
    2. 数组名“指向”的是内存中数组首元素的起始地址
    3. 数组名不包含数组的长度信息
    4. 在表达式中,数组名只能作为常量使用
    5. 只有在下列场合中数组名不能看做常量指针:数组名作为sizeof操作符的参数,数组名作为&运算符的参数
     1 #include <stdio.h>
     2 int main()
     3 {
     4      int a[5] = { 0 };
     5      int b[2];
     6      int *p = NULL;
     7      p = a;
     8      printf("a=%p
    ",a);
     9      printf("p=%p
    ",p);
    10      printf("&p=%p
    ",&p);
    11      printf("sizeof(a)=%d
    ",sizeof(a));
    12      printf("sizeof(p)=%d
    ", sizeof(p));
    13      return 0;
    14 }
    15 运行结果:
    16 a=004FFBD4
    17 p=004FFBD4
    18 &p=004FFBB8
    19 sizeof(a)=20
    20 sizeof(p)=4
    21 请按任意键继续. . .
     
     
    主要记录的是学习听课的笔记
  • 相关阅读:
    SQL-排名函数
    SQL-简单查询
    SQL-判断表是否存在
    HDU1557权利选举
    Bresenham画直线,任意斜率
    LCS最长公共子序列HDU1159
    zoj1276矩阵连乘dp
    OJ的文件流操作
    dp题目
    翻纸牌 高校俱乐部 英雄会 csdn
  • 原文地址:https://www.cnblogs.com/chengeputongren/p/12176144.html
Copyright © 2011-2022 走看看