1.初始化:

初始化就是在声明变量的同时给变量赋值,而不是声明后再赋值。

先声明,后赋值:

int a;   //先声明,由于没有初始化,所以当前a的值是变量a创建前,相应的内存单元中保留的值,是未知的
a = ; //后赋值,此时a得到赋值,有了明确的值

声明的同时赋值(初始化):

int a = ;  //为变量a开辟内存空间的同时把该内存空间的值改写成1,此时a的值是明确的

2.缩窄转换:

①将较大的浮点类型转化为较小的浮点类型:如将double转换成float,此举将会导致精度(precision)降低,值可能超出目标类型的取值范围,在这种情况下,结果将是不确定的。

②将浮点类型转换为整形:此举将会导致小数部分丢失,原来的值可能会超出目标类型的取值范围,再这种情况下,结果将是不确定的。

③将较大的整形转化为较小的整形:如将long转换位short,原来的值可能超出目标类型的取值范围,通常只复制右边的字节。

3.数组的初始化

①可以使用大括号初始化:

如:int arry_1[10]={1,2,3,4,5,6,7,8,9,10};

②大括号里可以不包含任何东西:

如:int arry_2[10]={};      //所有元素都将被初始化为0.

③数组长度可以缺省:

如:int arry_3[]={1,2,3,4,5};       //此时数组长度等于初始化值表中元素的个数,5

④列表初始化禁止缩窄转换:

如:long arry_4[]={3,5,3.4};          //错误,不能把double型转换为long型

char arry_5[]={'a','b',23333333};      //错误,23333333超过了char变量的取值范围

char arry-6[]={'a','c',20};           //正确,20在char的取值范围内

数组的初始化&缩窄转换的更多相关文章

  1. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  2. php如何遍历多维的stdClass Object 对象,php的转换成数组的函数只能转换外面一丛数组

    php如何遍历多维的stdClass Object 对象,php的转换成数组的函数只能转换外面一丛数组 (2012-09-10 19:58:49) 标签: 杂谈 分类: 网页基础知识 php如何遍历多 ...

  3. Java中数组的初始化方式

    Java中数组的初始化方式    初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...

  4. json 数组 对象 xml 之间转换(待补充)

    json 数组  xml 对象   之间转换(待补充) 1 把对象的类型或者数组转换成字符串类型(或者更确切的说是json类型的). 此处参考链接http://www.jb51.net/article ...

  5. Java 代码学习之数组的初始化

    我们都很熟悉Java中的数组,它具有查询快,增删慢的特点.但是通常我们自认为很了解它的用法,却容易忽略一些小细节.今天通过一段代码来简单了解数组初始化中的一些我们容易忽略的地方. package da ...

  6. js数组,字符串,json互相转换函数有哪些

    js数组,字符串,json互相转换函数有哪些 一.总结 一句话总结: JSON.stringify(arr) JSON.parse(jsonString) str.split('') array.jo ...

  7. c++中用vector创建多维数组的初始化方法

    最近调试一个程序,在使用vector声明一个二维数组时出现错误.错误的方法如下所示: std::vector<std::vector<double> > sphereGrid; ...

  8. go语言基础之数组的初始化

    1.数组的初始化 示例: package main //必须有个main包 import "fmt" func main() { //声明定义同时赋值,叫初始化 //1.全部初始化 ...

  9. Delphi下使用指针的简单总结(指针的赋值,数组和指针的转换,函数指针的使用)

    由于最近公司太忙,好久没有更新我的BLOG了.原来想着写写关于HOOK驱动的文章,可是最后想想好久已经没有做驱动的东西了,怕写出来有错误,于是作罢.开发游戏也有一段时间了,发现使用DELPHI来开发网 ...

随机推荐

  1. 机器学习基石11-Linear Models for Classification

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课,我们介绍了Logistic Regression问题,建立cross ...

  2. gym 102059A 树链剖分后odt维护区间

    题意 一棵树 多次修改,每次修改一个点到根的所有边的颜色,并询问现在有哪些颜色染了恰好$m$条边 题解: 稍加思考可以知道,从某个点到根节点的颜色数,均摊复杂度很低,因此,可以考虑珂朵莉树维护重链剖分 ...

  3. PHP提取页面第一张图为缩略图的代码

    <?php $p = '/<img.*?src=[\'|\"](.+?)[\'|\"].*?>/i'; preg_match_all($p,$str,$match ...

  4. linux shell脚本、命令学习

    1,echo "test" > test.txt    输出重定向到text.txt,文件不存在就创建 echo "test" >> test ...

  5. Motivation

    觉得一个需求不错,却没有意愿去做,唯一可能的意愿就是生活需要.可这并不能很好的带动起来什么,除了让自己觉得在逼自己. 后来在这个需求的基础上,延伸出新的需求,可能更适应生活.仍然没有意愿去动手,虽然生 ...

  6. 高可用Redis(九):Redis Sentinel

    1.主从复制高可用的问题 主从复制高可用的作用 1.为master提供备份,当master宕机时,slave有完整的备份数据 2.对master实现分流,实现读写分离 但是主从架构有一个问题 1.如果 ...

  7. git clone下载代码

    下载master代码git clone http://username:password@git.wondershare.cn/XXX.git 下载指定develop分支代码git clone -b ...

  8. centos6.9 改系统语言成中文简体

    1.在root权限下 切换到root下:su root 查看当前语言环境:locale -a  (注意中间有空格) 如果看到 zh_CN.UTF-8(这个是中文简体)说明你的系统支持中文语言 2.编辑 ...

  9. 中国居民18位身份证号验证方法,Java算法实现

    public static boolean validate18Idcard(String idcard){ if(idcard == null ) { return false; } if(idca ...

  10. Jmeter实现dubbo接口压测案例

    当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三 ...