首页 > 其他分享 >数组的创建和初始化

数组的创建和初始化

时间:2023-02-20 17:34:25浏览次数:28  
标签:初始化 arr const name 创建 数组名 数组 printf

1、数组的创建

数组时一组相同类型元素的集合,一维数组格式为:

type_t    arr_name  [const_n];

type_t   arr_name[const_n][const_m];

type_t是数组元素类型;const_n/m是常量表达式,指定数组大小,不可使用变量。

其中,const_n可以缺省,const_m不能缺省;二维数组中的每一行又可以视为n个一维数组,名称为arr_name[0],arr_name[1]......arr_name[n-1]。

2、数组的初始化

(1)不完全初始化:未初始化部分为0;如int arr[7]={1,2,3}, char str[5]={‘a’,‘b’,‘c’}

(2)完全初始化:全部赋初值;如int arr[2]={1,2},char str[3]={‘a’,‘b’,‘c’}

3、数组的访问或使用

(1)使用下标[]访问或使用数组元素,下标均从0开始;数组在内存中是连续存放的;

(2)数组大小可通过计算求得,常用操作符sizeof或库函数strlen来计算,其中sizeof是计算数组元素所占空间的大小,单位是字节,计算结果包括“\0”;strlen是计算字符串的长度,用于char类型数组,遇“\0”终止,计算结果不包括“\0”;

(3)除以下2种情况外,数组名的引用均代表数组中第一个元素的地址

a.单独与sizeof搭配:sizeof(数组名),此时数组名表示整个数组,计算的是整个数组的大小,单位是字节;

b.单独与&搭配:&数组名,此时数组名代表整个数组,取出整个数组的地址。

验证:int arr[]={1,2,3};

   printf("%p\n",arr);

   printf("%p\n",arr+1);

   printf("%p\n",&arr[0]);

   printf("%p\n",&arr[0]+1);

         printf("%p\n",&arr);

         printf("%p\n",&arr+1);


标签:初始化,arr,const,name,创建,数组名,数组,printf
From: https://blog.51cto.com/u_15958421/6069035

相关文章

  • JavaScript数组的方法大全(最新)
    JavaScript数组方法大全趁着有时间,总结了下数组所有的属性和方法,记录博客,便于后续使用array.at()at方法,用于获取数组中,对应索引位置的值,不能修改。语法:array.at(cou......
  • python之路73 vue框架 vue-cli创建项目、vue项目目录介绍、es6导入导出语法、登录功
    vue-cli创建项目前端做成项目---》使用工具(vue-cli),创建vue项目,单页面应用(spa),组件开发,把xx.vue,ts,saas,less---》编译---》在浏览器中执行vue-cli创建项目开发,在项......
  • mobx store 创建区别
    mobx6之前的版本创建store的时候,如果有observable属性,那么store自动变成observable的mobx6之后的版本需要自己在构造函数调用makeObservable函数并传入store本身,从而把......
  • 开心档之Git 创建仓库
    Git创建仓库本章节我们将为大家介绍如何创建一个Git仓库。你可以使用一个已经存在的目录作为Git仓库。​​gitinit​​Git使用 gitinit 命令来初始化一个Git仓库,G......
  • 初始化
    拷贝初始化和直接初始化直接初始化直接调用与实参匹配的构造函数,拷贝初始化总是调用拷贝构造函数。拷贝初始化首先使用指定构造函数创建一个临时对象,然后用拷贝构造函数......
  • .NET 6 创建 gRPC 服务(简单实现)
    .NET6创建gRPC服务gRPC(https://grpc.io)是一个由Google开发的高性能、开源、跨多种编程语言和通用的远程过程调用协议(RPC)框架,用于客户端和服务端之间的通信,使用......
  • 力扣简977 有序数组的平方
    自己写了一版空间占用太高了看了题解差不多也就这样packageLeetcode;/*给你一个按非递减顺序排序的整数数组nums,*返回每个数字的平方组成的新数组,要求也按......
  • MySQL 创建数据库
    1.1进入MySQL命令:mysql-utest-p;1.2查看数据库命令:SHOWDATABASES;1.3新建数据库命令:CREATEDATABASEitem_name;1.4验证是否查看成功命令:SHOW......
  • 数组
    数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过一个......
  • 每日一练(剑指offer)二维数组中的查找
    描述在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个......