- //1. 字符串求长度 拷贝 拼接 比较
strlen( ) strcpy( ) strcat( ) strcmp( );
头文件:#include<string.h>
- //2.sizeof() 与求字符串strlen函数有什么区别
功能上:sizeof求所占空间大小,单位是字节
strlen求的是字符串大小,不包括‘\0’.
结构上:sizeof( )运算符,strlen函数需要引用头文件。
- //3. 要想实现字符串的拷贝 需要满足那些要求才可以
判空
用const修饰不需要修改的数据。
链式操作,将修改方首元素地址返回。
容量:足够大的空间实现拷贝功能
确保能够修改,才能拷贝
char* strcpyA(char* s ,const char* t) {
if (s == NULL || t == NULL) {
return 0;
}
char* p = s;
while(*t) {
*s++ = *t++;
//s++;
//t++;
}
*s = '\0';//防止乱码现象
return p;
}
//4.要想实现字符串的拼接 需要满足那些要求才可以
判空
用const修饰不需要修改的数据。
链式操作,将修改方首元素地址返回。
容量:足够大的空间实现拷贝功能
确保能够修改,才能拷贝
一定要能找到‘\0’,才能拷贝
char* strcatA(char* s ,const char* t) {
if (s == NULL || t == NULL) {
return 0;
}
char* p = s;
while (*s) {
s++;
}
while(*t) {
*s++ = *t++;
}
*s = '\0';
return p;
}
//5. 若函数参数为指针类型 那第一步应该做什么? 比如 char *s作为该函数参数 (句子)
if (s == NULL ) {//判空
return 0;
}
//6. 能否定义一个常量 名字为a 能的话写出具体的语句 不能的话 为什么?
const int a;
//7. 若需要对字符串进行输入的操作,那么这个字符串只能用什么结构来实现存储的操作(函数内)
char str[100];
gets(str);
//8. 若现在需要将很多个整形数据输入到数组当中 int a[100];但是我们并不知道需要输入多少个数据
//那么这个过程应该如何完成 写出具体的语句
while(scanf("%d",a[i]=1)i++));
//9. 写出实现数组元素访问的等式
nums[i]=*nums+i
//10. char *a[10]; char(*b)[10]; 解释这两个结果以及对应表示的含义
- char*a[10]:包含10个元素且每个元素是char类型的指针数组
-
char(*b)[10]:数组指针存的是char类型的数组的地址。