10-18
2016-11-12 本文已影响0人
当时光一去不复返时
数组
int array[5];
array={1,2,3,4,5};
错误1:越界访问
错误2;:试图将一个数组赋给一个变量
最好定义的时候就赋值或者一个一个定义
数组遍历:挨个打印(访问)数组元素
1数组初始化
int array[6]={1,2,3,4,5,6};
2元素不足用0补全
int array[6]={1,2,3}
3如果行号省略,根据后面元素的个数确定行号
int array[ ]={1,2,3,4,5}
4单独赋值后面的数组元素
int[5]={[3]=1,[4]=2}
数组是连续存储的
数组名相当于首元素的地址
指针赋值
1)int *p;
p=&a;
2)int *p=&a;
*是指取向的空间内容
####################
访问一维数组,第i个元素地址:&arr【i】
arr+i
或者
int *p=arr
p+i
或者&p[i]
####################
const 属性只读,不可写
int const a;
const int a;两者效果一样
int *const p=&a;
代表这个指针变量本身内容只读,不可更改
const int *const p=&a;
代表p所指向的内容只读,p本身的内容只读
arr 相当于 int *const arr
int p[3];
先算【】,代表他是一个数组,再算,代表这个数组所有的元素都是指针
指针在32位机占4个字节,在64位机占8个字节