数组 注意事项

1.一维数组的初始化

int a[5]={1,2,3,4,5}; 合法

int a[5]={1,2,3}; 合法

int a[]={1,2,3,4,5}; 合法,后面决定前面的大小

int a[5]={1,2,3,4,5,6}; 不合法!

2.一维数组的定义

int a[5]        合法

int a[1+1]    合法

int a[1/2+4] 合法

int x=5,a[x]  不合法,x是变量

define P 5        int a[P] 合法

3、二维数组的初始化

int a[2][3]={1,2,3,4,5,6};  合法,很标准的二维的赋值。

int a[2][3]={1,2,3,4,5};  合法,后面一个默认为0。

int a[2][3]={ {1,2,3},{4,5,6}};  合法,每行三个。

int a[2][3]={ {1,2}{3,4,5}};  合法,第一行最后一个默认为0。

int a[2][3]={1,2,3,4,5,6,7};  不合法,赋值的个数多余数组的个数了

int a[][3]={1,2,3,4,5,6};  合法,可以缺省行的个数。

int a[2][]={1,2,3,4,5,6};  不合法,不可以缺省列的个数。

定义二维数组时可缺行不缺列;有定义后可缺列不缺行

补充
一维数组的重要概念:
对a[10]这个数组的讨论。
1、a表示数组名,是第一个元素的地址,也就是元素a[0]的地址。(等价于&a)
2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。
3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。

对a[3][3]的讨论。
1、a表示数组名,是第一个元素的地址,也就是元素a[0][0]的地址。
2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。
3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。
4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1(第0行第二个元素),a[1]+1(第1行第二个元素),a[2]+1(第2行第二个元素)都是跳一列。
5、注意a和a[0](表示二维数组的第0行,即一维数组)、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。

二维数组做题目的技巧:
如果有a[3][3]={1,2,3, 4,5,6, 7,8,9}这样的题目。
步骤一:把他们写成:第一列 第二列 第三列
                          a[0]        1          2          3    →第一行
                          a[1]        4          5          6    →第二行
                          a[2]        7          8          9    →第三行

步骤二:这样做题目很简单:
*(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,所以是2。
*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,所以是6。
一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。

记住以下表达形式:

a[2]变成*(a+2)

a[2][3]变成*(a+2)[3]再可以变成*(*(a+2)+3)

相关推荐

  1. 数组 注意事项

    2023-12-11 06:52:07       28 阅读
  2. 音频数据分析注意事项

    2023-12-11 06:52:07       16 阅读
  3. 【Qt】QStandardItem更新数据注意事项

    2023-12-11 06:52:07       15 阅读
  4. 数学】常用等价无穷小及其注意事项示例

    2023-12-11 06:52:07       16 阅读
  5. 换房注意事项

    2023-12-11 06:52:07       43 阅读
  6. RWMutex 注意事项

    2023-12-11 06:52:07       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 06:52:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 06:52:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 06:52:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 06:52:07       18 阅读

热门阅读

  1. GraphSAGE

    GraphSAGE

    2023-12-11 06:52:07      36 阅读
  2. C/C++语言的安全编码规范

    2023-12-11 06:52:07       33 阅读
  3. 计算机视觉-机器学习-人工智能顶会 会议地址

    2023-12-11 06:52:07       34 阅读
  4. 【求职】外企德科-网易游戏测试面试记录

    2023-12-11 06:52:07       37 阅读
  5. git commit语义规范

    2023-12-11 06:52:07       32 阅读
  6. Docker安装教程

    2023-12-11 06:52:07       46 阅读
  7. Spark

    2023-12-11 06:52:07       27 阅读
  8. Spark-Streaming+Kafka+mysql实战示例

    2023-12-11 06:52:07       30 阅读
  9. 《微信小程序开发从入门到实战》学习四十七

    2023-12-11 06:52:07       31 阅读
  10. 学习 Vue 3 源码

    2023-12-11 06:52:07       42 阅读
  11. facebook回传

    2023-12-11 06:52:07       39 阅读
  12. Go简单了解

    2023-12-11 06:52:07       32 阅读