一、指针指向字符型数组
(1)【const】:在指针变量中使用时,无法通过该指针修改被指向的变量;
(2)【const】:关键字,在C和C++中,能加就加,加了一定比不加好;
(3)加了【const】可以常量可以传字符串,不加【const】只能传字符数组的数组名;
eg:输出字符串函数和统计有效字符的函数;
(2)将一个字符数组拷贝到另一个字符数组中;
(3)当两个字符串相同时。系统只为其开一个地址;所以输出为Yes;
(4)连接两个字符数组的字符串;
(5)用函数的嵌套连接两个字符数组的字符串;
(6)strncpy的程序:
void *万能指针
可以接受任何类型的地址,但是不能做指针运算;
多用于类型强转;
eg:和Memcpy相同
Memcpy————连续内存拷贝
void *Memcpy (void *dest,const void *src,int n)
eg:(1)Memcpy连续内存拷贝
程序:
(2)strncat;
(3)strcmp;
(4)strncmp;
二、数组指针
eg:
int (*p)[10]; // 指向长度为10的一维整型数组;
以a[3][4] = {0};为例
1. &a //int (*)[3][4] //指向数组的指针
2. a <=> &a[0] //指向数组的指针,类型名为int (*)[4]
3. a[0] <=> &a[0][0] //类型名为,int *
eg:(1)求二维数组中的最大值;
练习:
(1)求二维数组所有边缘元素的和;
(2)在一个长的数组里面找一个小的数组第一次出现的位置