switch( 整型) –int,char
{
case ‘a’ : –整型常量
操作;
Break;
case’b’:
default:printf(“error! \n”);
} 找到 与值相匹配的标签,开始执行,一直往下
所以需要break 打断
while()
{
getchar(); 或者 scanf(“ %c”,ch); 吃掉一个字符 ,过滤掉空白符
switch
}
使用时: 数组 = 指针
数组的大小 = sizeof (数组名)/sizeof(数组元素的类型)
用于函数接受接收 数组名,接收的是一个指针
const 只读 ,只读不可改 const int days [ ]= { …}
地址 = 地址 + n * sizeof(type)
行跑得快
a 与 &a[0] — 首元素地址 —常量
对指针+1 结果 是 对指针增加一个存储类型大小
strlen() — 函数 — 在子函数中也是n-1个
main func
size 20 4
strlen 19 19
整数加给指针变量 指针指向的地址 + n * 类型
指针变量 – 整数
指针与指针 差值单位是相应类型的大小
两指针指向同一数组
指针与NULL
用指针指向主函数数组,不希望修改时 + const 只读
优先 自左 向右
int (*a)[]
a是一个指针
指向有5个int 型的数组
行指针 — ++偏移一行的字节 —标记列值
数组仅能省略第一维,即 int tab[][COL]
局部数组 需初始化
((ptab + 0)+1) 取值
char *tab = “hello” 指针指向一个常量 存于常量区,不可修改,所以出现段错误
char tab2[] = “hello”
sizeof (tab)= 4
sizeof (tab2) = 6