int arr[10]; arr是数组名,数组里面放了十个元素,每个元素是int类型
数组 - 一组相同类型元素的集合
可以创建的时候给初始值,int arr[10]={1,2,3,4};只有字符串才有结束标志
数组的每个元素都是有下标的,下标是从0开始的,想访问数组中某个元素,要通过下标来访问,如arr[5]=4;
数组怎么访问呢?想给数组里输入十个值,要访问数组的每个元素,它的下标是0~9,只要产生0~9的数字作为数组的下标就能访问数组的每个元素。!!!!!千万不敢直接拿着数组名就开始赋值,像这种arr="xxxx"是错误的,想访问数组请先访问数组的每个元素
arr数组名本来就是首元素的地址,地址是个编号,把hello放到编号上吗,肯定不是,应该是把hello放在编号所指向的空间里面
首元素地址是个地址常量,是个编号数字,是个常量值,这时候应该把hello字符串拷贝放到由arr指向的空间里面,就可以搞定了
当出现字符串的时候,在赋值或者使用它的时候,其实是使用它的h的地址。
比如char*p="hello";这时候不是把hello这个字符串放到p里面去,真正放进去的是首字符h的地址,p就指向了这个字符串所以这个地方赋值过去的是h的地址
strcpy(arr,"hello");要把hello拷贝到arr里面去的时候"hello"传参的时候传过去的是h的地址
source就指向了hello中h的地址,destination指向了arr这个数组
/两端都是整数,执行的是整数除法(10/3=3.....1),两端中只要有一个操作数是浮点数,执行的就是浮点数的除法(10/3=3.333333)
10.0默认是double类型,加f转换为float类型,存到float a里,不加f就是把double八个字节的值赋给float类型四个字节的变量会报警告,double到float截断,但还是可以运行,最好加上f
右边第一个=不是赋值操作符,是初始化
已经有变量,后来我要改它的值,第二个=叫赋值操作符
10>a为真,非0再去和1比较,为假就打印不了
这种写法是不对的,应该用a1
sizeof简介
前置--和后置--差别:
条件操作符(三目操作符):
exp1?exp2:exp3
表达式1的结果如果为真,整个表达式的结果是表达式2的结果。
表达式1的结果如果为假,表达式2不算,表达式3的结果是整个表达式的结果
逗号表达式:表达式从左向右依次计算,整个表达式结果是最后一个表达式的结果
下标引用操作符:
3+5,用到了+操作符,把3和5相加,+是操作符,3和5是它的操作数
[ ]把arr和4结合在一起,让我们访问arr里面下标为4的元素,对[ ]下标引用操作符来说arr和4是它的操作数,操作符和运算符是一回事。
创建数组的[]不是操作数,那是创建数组所需要的语法
函数调用操作符: