11.1
1.笔记
手写笔记:
编译过程中遇到几个学过的函数、头文件等等,重新复习一下:
(1).上节的知识:常用标准头文件
ctype. h字符处理
math. h与数学处理函数有关的说明与定义
stdio. h输人输出函数中使用的有关说明
string. b定义字符串函数的有关说明和定义
stddef. h定义某些常用内容
stdlib. h杂项说明
time. h支持系统时间函数
疑惑:添加头文件有什么用处? 我在编译器中试了一下把头文件注释掉,可是没有报错,那头文件也不是必须加的?加或不加有什么区别?
解决:
(2)常用字符串处理函数
函数名:strcat功能: 字符串拼接函数用 法: char *strcat(char *destin, char *source);
函数名:strchr功 能: 在一个串中查找给定字符的第一个匹配之处用 法: char *strchr(char *str, char c);
函数名:strcmp功能: 串比较用法: int strcmp(char *str1, char *str2); 看Asic码,str1>str2,返回值> 0;两串相等,返回0
函数名:strcpy 功能: 串拷贝用法: char *strcpy(char *str1, char *str2);
(3)动态内存分配函数
(一)malloc函数
功能:申请动态内存,分配size字节的存储区
所需参数:一个参数size,表示所分配的字节
形如:int *p = (int *)malloc(n*sizeof(int));
返回值:所分配的内存区起始地址,如内存不够,返回0
(二)calloc函数
功能:分配n个数据项的内存连续空间,每个数据项的大小为size
所需参数:两个参数
形如:int *p = (int *)calloc(n,sizeof(int));
(三)free函数
功能:释放p所指的内存区
所需参数:一个参数
形如:free(p); // 释放内存,与malloc配合使用
返回值:无
(四)realloc函数
功能:将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大,即扩容
所需参数:两个参数,新的大小,以字节为单位
(4)
开始时不懂这里for语句里面的意思,现在知道是因为:一个汉字由两个字符组成,所以是取出每个字符串的前两个字符
2.问题
这里显示有错误,内容意思是 :
我不知道哪里出现错误了
代码列表
11.2
1.笔记
2.代码列表
3.问题
这里match函数中出现的*s,主函数中并没有给他赋值,我有点不理解这个*s的含义 (已懂)
这个f1跟f2我也不是很懂,希望老师讲解一下!
PTA问题
1.
我想知道为什么在编译器上显示有错误,错误原因是:
但是在pta上显示正确???
2.
这道题开始没注意到,选的是D,后来才发现他们的区别:这个地方需要注意:
int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。
int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。
区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。
int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组。
int (*p)[n]; 中( )优先级高,首先说明p是一个指针,指向一个整型的一维数组。
连接字符串的三种方法: