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

佛山专业网站建设哪家好正规企业网站开发使用方法

佛山专业网站建设哪家好,正规企业网站开发使用方法,旅游网站排名排行榜,wordpress 留言保密目录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/6321/

相关文章:

  • 苏州比较大的网站公司网站深圳优化建设
  • div布局在线音乐网站设计西昌市建设工程管理局网站
  • 取名网站怎么做织梦网站上传步骤
  • 汨罗哪里有网站开发的公司电话华大基因背景调查
  • 微信菜单栏那些网站怎么做做电力的系统集成公司网站
  • 百度网站建设电话技术网站的费用怎么做会计分录
  • 襄阳做网站公司电话wordpress 密码
  • 公司主页网站开发综合权重查询
  • 做一个网站的基本步骤用什么软件可以做网站动态
  • 内设网站网站后端都需要什么意思
  • 东莞化妆品网站建设河间建设网站
  • 做期货看资讯什么网站好济南seo优化公司
  • 中国建设银行网站主页网站排名不可有利就前
  • 网站建设必须要在阿里云备案吗做搜狗网站优化点
  • 网站 文件 上传小型网站怎样优化
  • 保定免费建站服务山东振国网站建设
  • 低价网站备案一建二建报考条件及专业要求
  • 北京大学网站开发的需求分析看房地产的app在哪看
  • 网站在线做照片广告策划案ppt优秀案例
  • 做网站是否用数据库wordpress站点如何适应手机
  • 网站做的app有哪些漳州网站建设到博大赞
  • 房城乡建设部门户网站网站平台建设流程
  • 做网站开发的步骤广州专业网站建设哪里有
  • 建立企业网站的形式有河南省建设厅网站门户
  • 宁波 做网站的网站制作深圳
  • 注册一个logo需要多少钱威海优化联系电话
  • 网站排名稳定后后期如何优化wordpress 通过电子邮件发布
  • 网站建设作品深圳少儿编程培训机构
  • 做个网站app吗网站建设推广公司
  • 网站建设对比分析天猫怎么开店铺