C语言数组使用、数组相关的宏定义剖析,及矩阵乘积、杨辉三角实例

     数组一直是编程语言学习中需要重点掌握的部分,它是最基本的数据结构类型,是构成字符串及其他许多重要构造结构的基础。相对许多其他高级语言来说,C语言对数组本身提供的支持并不太多,尤其是不支持动态的数组定义

     本文总结了几种常见的数组使用中的错误用法,并通过分析原理解释错误原因,从而为掌握正确的数组用法提供帮助。同时提供了几个相对有代表性的数组的使用方式及源码,以方便学习。

指引

  • 数组定义方法及使用示例
  • 常见数组定义错误
  • 数组原理及坑
  • 矩阵乘积计算
  • 杨辉三角
  • 数组宏

数组定义方法

在C语言中,数组按如下的方法定义:

 ① 类型 数组名[数组大小];
         int array[10];
         char str[15];
  ② 类型 数组名[]={元素1,元素2,元素3,...};1
         int a={
  1,2,3,4,5};
         char ch[]={
  'a','b','c'};
  ③ 类型 数组名[数组大小]={元素1,元素2,元素3,...};2
         float x[4]={
  1.5, 3.2, 6.0, 23};
         int y[5]={
  1,2,3,4};

数组使用方法示例

/*
     在下述代码代码片段中展示了几种常见的错误 
*/

#define N 5

int main(){
        /*错误形式 01: 声明数组时没有确定长度 */
    int array1[];

        /*错误形式 02:数组长度必须在进行编译初期就能确定,
        而不能是在运算处理中才能计算出来的结果,如宏定义 */
    int m=5;
    int array[m];

        /*错误形式 03: 先声明了数组,再赋值*/
    int array2[N];
    array2={
  1,2,3,4,5};

        /*错误形式 04: 赋值范围超出了开辟的空间*/
    int array3[N]={
  1,2,3,4,5,6};

        /*错误形式 05: 试图进行对数组的整体赋值*/
    int a[N]={
  1,2,3,4,5},b[N];
    b=a;

    return 0;
}

数组原理及“坑”

     1. 数组在定义的时候,在内存空间中为其开辟了一块连续的空间,其大小为单个数组元素类型所占大小 sizeof(type) 与元素个数N的积,即:

         size = sizeof(type) * N

    2. 同一数组内的数据元素必须一样,即即便如下述定义:

        float  x[]={
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值