当前位置: 首页 > news >正文

山东淄博网站建设的公司二手车 东莞网站建设

山东淄博网站建设的公司,二手车 东莞网站建设,网站开发语言那个好,开放大学门户网站建设目录9. 数组9.1 数组的定义9.2 数组与指针的区别9.3 数组大小计算9.4 数组的赋值9.5多维数组寻址方式9.6 函数数组9. 数组 9.1 数组的定义 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往…

目录

  • 9. 数组
    • 9.1 数组的定义
    • 9.2 数组与指针的区别
    • 9.3 数组大小计算
    • 9.4 数组的赋值
    • 9.5多维数组寻址方式
    • 9.6 函数数组

9. 数组

9.1 数组的定义

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

9.2 数组与指针的区别

指针:也是一个变量,存储的数据是地址。

数组名:代表的是该数组最开始的一个元素的地址。

区别:指针是一个变量,可以进行数值运算。数组名不是变量,不可以进行数值运算。

char *str="Hello";
char arrgs[]="Hello";

字符数组:

char *p=(char*)&arrgs == char *p=arrgs ;
char *p=(char*)(&(arrgs[0])) == &arrgs == arrgs;

字符串指针:

char *p=(char*)&str != str; str==str[0] =='H'

结论:

​ 字符数组的 首地址可以用 arrgs ,&arrgs,来表示并且它们相等,但是指针&str和str是不同的,当遇到字符串指针时候要注意处理方式。

9.3 数组大小计算

​ 在我们没有明确数组的元素个数时,在程序中想知道数组单元个数可以使用 sizeof(a)/sizeof(a[0]), sizeof(a) 是得到数组 a 的大小,sizeof(a[0]) 是得到数组 a 中单个元素的大小(因此可以不必要是a[0],a[i]都行)。

9.4 数组的赋值

对于数组的初始化需要注意以下几点:

  1. 可以只给部分元素赋值,当 { } 中值的个数少于元素个数时,只给前面部分元素赋值。例如:
int a[10]={12, 19, 22 , 993, 344};

表示只给 a[0]~a[4] 5 个元素赋值,而后面 5 个元素自动初始化为 0

当赋值的元素少于数组总体元素的时候,不同类型剩余的元素自动初始化值说明如下:

  • 对于 short、int、long,就是整数 0
  • 对于 char,就是字符 ‘\0’
  • 对于 float、double,就是小数 0.0

我们可以通过下面的形式将数组的所有元素初始化为 0:

int nums[10] = {0};
char str[10] = {0};
float scores[10] = {0.0};

由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可。

  1. 只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1,只能写作:
int a[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
char a[]="hello!"; // 这样赋值之后在结尾会自动加上'\0'。
char a1[]={'h','e','l','l','o','!'}; // 这样赋值是整整好好的6个空间不会自动加上'\0'
所以比较的话,a 的长度比 a1 的要大。

而不能写作:

int a[10] = 1;

9.5多维数组寻址方式

二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小,这是由编译器原理限制的。事实上,编译器是这样处理数组的:

设有数组 int a[m][n],如果要访问 a[i][j ]的值,编译器的寻址方式为。

&a[i][j]=&a[0][0]+i*sizeof(int)*n+j*sizeof(int); // 注意 n 为第二维的维数

因此,可以省略第一维的维数,不能省略其他维的维数。

在定义二维数组的时候对其进行初始化,也可以省略第一维,编译器会根据你的初始化语句自动决定第一维度。

9.6 函数数组

将几个返回类型相同的函数定义到函数数组中,通过函数数组指针来调用

//声明   
static U1 (* const TBL_DIM_OUT[DIM_WELCOME_NUM])(void) = {u1_DimexcontOut,                    /* 室内照明函数                          */u1_DimptrOut,                       /* 点照明函数                      */u1_DimlitOut,                       /* 文字盤照明函数                        */u1_DimfueltempOut                   /* 油表和温度照明函数                     */
};//调用
for(u1_cnt = (U1)0; u1_cnt < (U1)DIM_WELCOME_NUM; u1_cnt++){//依次调用这些函数u1_dimout |= TBL_DIM_OUT[u1_cnt]();}
http://www.yayakq.cn/news/459746/

相关文章:

  • 深圳 网站 传播企业网站建设设置那些栏目
  • 油金地 做网站wordpress小程序改造
  • 淘宝优惠劵网站怎么做触屏网站
  • 营销型网站的基础建设关键词指数查询工具
  • 清远做网站的有哪些电商平台门户网站建设的重要性
  • 服装企业官方网站专业网站建设模块维护
  • 网站开发思维导图郑州地方网络推广网站
  • 广州网站运营专业乐云seo公司网站内容模块布局
  • 电商网站开发与运营无锡通告最新
  • 美容加盟的网站建设十大博客网站
  • 网站主题栏目分类企业门户网站主要功能
  • 北京网站建设 和君做电影网站如何推广方案
  • 深圳网站建设 营销网店代运营费用
  • 网站开发服务器知识定制网络接口报警灯生产厂商
  • 响应式网站效果图做多大的广东工厂搜索seo
  • 打开网址跳转到国外网站wordpress 主题位置
  • 物流行业网站建设可信赖的邵阳网站建设
  • 回忆网站模板网站群建设
  • 重庆营销型网站建设多少钱网站后台上传图片显示运行错误为什么
  • 西安网站建设开发网页制作素材小图片
  • 做网站资源广州公司注册地址提供
  • 滕州建设招标网站西部虚拟主机网站后台不能访问
  • 网站备案最快几天家居东莞网站建设
  • 做公司的网站在线制作效果图
  • 网站建设一般要多钱外贸流程的基本流程图
  • 网站建设 手机主机托管
  • ai素材免费下载网站厦门市建设局网站 限价房
  • 网站建设哪家网站建设好网络营销策划书应该怎么写
  • 牙科网站开发wordpress 码查询
  • 小璇seo优化网站如何防止网站挂黑链