首页 > 其他分享 >c语言 一/二维数组

c语言 一/二维数组

时间:2024-09-22 20:50:35浏览次数:3  
标签:10 arr 语言 int 一维 二维 数组 sizeof

菜鸟学习笔记  欢迎大佬指教

一维数组:

    声明:int  arr[10]; //声明一个一位数组可以存放10个(int)整形的数组

计算该数组的大小:

  • sizeof(arr) 会返回数组 a 占用的总字节数。
  • sizeof(int) 会返回单个 int 类型变量占用的字节数。

      我们使用总字节数/单个字节数就可以得到:   数组元素中的数量

   例如:

  1 #include <stdio.h>
  2 
  3 
  4 int main(){
  5 int arr[5]={1,2,3,4,5};
  6 printf("%d %d %d %d %d\n", arr[0], arr[1], arr[2], arr[3], arr[4]);
  7 printf("sizeof(int)=%ld\n",sizeof(int));
  8 printf("sizeof(arr)/sizeof(int)=%ld\n",sizeof(arr)/sizeof(int));
  9 
 10 return 0;
         

二维数组:

二维数组就相当于几个一维数组合在一起的数组;

例:arr[3][4]  就是3个一维数组  组成的而一维数组里面又有4个数组元素

注:数组里面的下标都是从0开始的;

 int   arr[3][4]={

//声明的时候表示的是元素的个数  而使用打印的时候则是需要下标来表示数组元素,而且默认从0开始  下标: 0 1 2   3
             0     {1,2,3,10},//下标从arr[0][0]开始(第一个一维数组)arr[0][4]结束
             1     {4,5,6,10},//下标从arr[1][0]开始(第二个一维数组)arr[1][4]结束
             2     {7,8,9,10} //下标从arr[2][0]开始(第三个一维数组)arr[2][4]结束
                                    };   

我们打印的时候就可以直接根据下标去打印输出需要的内容就可以了

 printf("%d",arr[1][2]);   //这样就是打印 第二个一位数组的第三个元素  “6”

单个单个去打印也比较麻烦;也可以使用循环打印;

使用for循环打印

当我们打印一维数组的时候可以使用一个for循环就可以了

例如

  

  1  #include <stdio.h>
  2 
  3    int main(){
  4    int n=sizeof(arr)/sizeof(arr[0])  //统计元素个数
  5    int arr[5]={1,2,3,4,5};
  6  for(int i=0;i<n;i++){   //打印的时候循环的次数少于元素个数就可以了 因为是从0开始的0-5是6个
                             //小于6且循环5次就可以了            
  7    printf(" %d\n",arr[i]);   
  8    }
  9    printf("\n"); //作用换行
 10    
 11   return 0;
 12   }                                                                         
               

一维数组相对简单:

二维数组打印也差不多 只要明白且套循环就可以了

for(初始条件;终止条件;更新条件){
//执行内容
    for(初始条件;终止条件;更新条件){
     //执行内容
    }
}
嵌套循环 外层执行一次 内层执行完全部

        

  1 #include <stdio.h>
  2 
  3 int main(){
  4 
  5 
  6 int   a[3][4]={ 
  7                {1,2,3,10},
  8                {4,5,6,10},
  9                {7,8,9,10}
 10                        };
 11 int n=sizeof(a);
 12 
 13 
 14 int b=(sizeof(a)/sizeof(a[0]));
 15 
 16 
 17 for(int i=0;i<(sizeof(a)/sizeof(int))/4;i++){//外层循环是循环一维数组
 18     for(int j=0;j<=b;j++){                   //内层循环 循环一维数组里的元素
 19 printf(" %d",a[i][j]); //当i=0的时候j就挨个的去执行直到j<=b才结束 当j<=b的时候已经循环完整 
 20                        //个一位数组了
 21 }
 22 printf("\n");                                                               
 23 }
 24 

         

标签:10,arr,语言,int,一维,二维,数组,sizeof
From: https://blog.csdn.net/m0_58341340/article/details/142300378

相关文章

  • C语言入门到精通(第六版)——第一章
    1.1C语言发展史1.1.1C语言简述    1、机器语言:机器语言是低级语言,也被称为二进制语言,通过01表示的二进制语言编写的代码。机器语言的特点是可以通过计算机直接识别,不需要编译。    2、汇编语言:汇编语言是面向机器的程序设计语言,通过英文或字符串替代二进......
  • 稀疏数组
    publicclassArraysDemo02{publicstaticvoidmain(String[]args){int[][]a=newint[11][11];a[1][2]=1;a[2][3]=2;for(int[]ints:a){for(inti:ints){System.out.print(i+"\t");}System.out.println();}System.out.println(&q......
  • 小语言模型:为业务需求定制AI
    规模越大并不总是越好:从llm到slm的转变当我们想到AI时,经常会想到像GPT-4或BERT这样的大型模型。这些巨人被称为大型语言模型(LargeLanguageModels,llm),由于其庞大的参数大小和广泛的训练数据,它们具有令人印象深刻的能力。然而,并不总是越大越好。llm可能成本高昂,需......
  • C语言整数类型的存储空间和取值范围
    C语言整数类型的存储空间和取值范围四种整数类型char,short,int,long默认有符号,再加上无符号限制,共8种情况char//字符型,单字节,取值范围:CHAR_MIN-CHAR_MAXunsignedchar//无符号字符型,取值范围:0-UCHAR_MAXshortint//短整型,双......
  • C语言进阶【5】---数据在内存中的存储【2】(小数存储很难吗?)
    本章概述本章引要练习浮点数的存储浮点数的取出小补充题目解析彩蛋时刻!!!本章引要常见的浮点数:3.1415,1E10等。其中,1E10是科学计数法的形式,它也就等于1*10^10。小数数据类型:float,double,longdouble。练习在开讲本章内容前,大家先来看个代码,大家先猜一下结果:#de......
  • 20240909_181725 c语言 标识符
    什么是标识符命名规定标识符特性区分大小写命名约定演练小结......
  • C语言深入理解指针(四)
    目录字符指针变量数组指针变量数组指针变量是什么数组指针变量怎么初始化二维数组传参的本质函数指针变量函数指针变量的创建函数指针变量的使用代码typedef关键字函数指针数组转移表字符指针变量字符指针在之前我们有提到过,(字符)(指针)前面的字符代表着存储的元素为......
  • Python语言的基本要素
    1.Python的语句(1)程序语句中,所有的字符都必须是英文字符(半角),不能是中文字符(全角)。(2)"#"后是注释,注释的内容不执行。("ctr+/"可加多行注释)2.常量(1)常量表示固定不变的数据(值)(2)常见常量有:数值型(整数)、字符串、布尔型(true表示真、false表示假)、空(None表示啥也不是)3.变量(1)变量是......
  • 树状数组浅谈
    什么是树状数组树状数组是一种码量小,常数小,支持单点修改和区间查询的数据结构。树状数组维护的信息和运算需要满足结合律并且可差分注意gcd和max操作虽然满足结合律,但不可差分,因此不能使用树状数组维护其实,树状数组能做的,线段树都能做,线段树能做的,树状数组不一定能做,但线段树......
  • matlab绘制二维云图,划分区域,并显示每个区域的均值
    绘制成图如下:代码如下:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%创建绘图的数据ax=0;bx=1;ay=0;by=1;nx=100;%数据的x轴点数ny=100;%数据的y轴点数hx=(bx-ax)/(nx-1);hy=(by-ay)/(ny-1);X=ax:hx:bx;Y=ay:hy:by;data=zeros(ny,nx......