- 博客(42)
- 收藏
- 关注
原创 字符串、结构体错题知识点
1、当1中没有内容且空间足够时,能够将2的内容全部接受,注意拷贝的时候会将 ' \0 '也拷贝进去,如果空间不够可能拷贝不了反斜杠0,strncpy ( str01,5,str02) 这时其实只能从2中拿4个字符还有一个是' \0 '结构体开辟空间时是按其成员中占用最大空间的类型为基本单位开辟,最后开辟的空间应是基本单位的整数倍,联合体也是按最大类型为基本单位开辟,但其只要能放入最大成员即可,所有成员共用同一片内存,但结构体是每个成员都有自己的内存保存。,d打出来是十进制的x打出来的是16进制;...
2022-08-16 20:03:11
210
原创 预处理及字符串易混淆点
也可让2从1的指定位置覆盖,如strcpy( str01+ 5,str02) 这样str02就会从str01的第六位开始覆盖,则1前面的内容就会保留。2、strcpy( char *str01,char *str02) 将2的内容拷贝到1中,但注意1的空间要比2大,否则字符串结束标志'\0'无法存进去。注意:当1中有内容时会被2的内容完全覆盖,因为拷贝时将2中的结束标识' \0 ' 也拷贝了,那读取的时候一遇到 结束标识就会停止。strcpy()的返回类型是char *,该函数返回的是一个字符的地址。..
2022-08-15 23:50:07
164
原创 指针易错点回顾
实际应用:例如一维数组名本身可以看作是一个指针 arr[ i ]==*(arr+i), 但是又不完全等同,这里的数组名作为指针其只能指向数组,而不能再指向其他位置,可以理解为只读指针变量。如 void add(int a,int b) , fun=add, fun(a,b)或者(*fun)(a,b) 不推荐,意义:指针指向的内容不能更改,只有读取权限,但指针的指向还可以改变。意义:指针指向的内容可以更改,但是指针本身的指向无法再更改。...
2022-08-15 00:08:50
391
原创 重定向输入输出、时间相关
有好几种方法 简单的为time ( 0 ) time (NULL) 常用的为下列方式 time_t t1 time(&t1)time(&t1) struct tm *datatime=localtime( &t1 );time(&t1) puts(ctime(&t1)) 传的是时间戳。先取时间戳,再通过Local函数将时间戳转为日历格式 tm是一个结构体包括年月日等等。日历时间转化为时间戳 time_t t2=mktime( timedata).
2022-08-12 00:44:04
249
原创 文件相关操作
w 打开只写文件,文件不存在时会创建一个 ,打开后旧内容会清空 ( fputc fputs)r 打开只读文件,文件不存在时不会创建 ( fgetc fgets)a 打开添加文件,会添加在文件末尾,文件不存在时会创建一个。r+ 打开可读写文件,不没有会创建。w+ 打开可读写文件,没有会创建。a+ 打开可读写文件,没有会创建。...
2022-08-10 23:51:48
58
原创 位段、位运算
< 左移 将一个数的位数向左移动,后面跟的数字n为要移动的位数,移动 后剩余位补0,相当于扩大2的n次方倍。当一个结构体中包含两个位段,第二个位段比较大导致第一个位段剩余的位放不下时,会再 开辟一个32位存储,但是第一个位段剩余的位是否还利用不确定。int位段被当成有符号数还是无符号数是不确定的。...
2022-08-08 23:01:29
173
原创 联合体,大端模式,小端模式
typedef 声明 typedef是c语言的关键字,作用是为一种数据类型定义一个新名字,但其不能创建新类型,且新名字首字母常大写。联合体定义关键词union,其定义的内容共用一个内存,而不是像struct那样每个内容都开辟空间储存。结构体指针 (p + i) -> num 拿到的会是num的内容而不是地址。等同于 p[ i ] .num 等同于 *(p+i).num。...
2022-08-05 00:25:59
302
原创 结构体指针变量及结构体内存的开辟
定义方式也较简单 如先定义一个结构体数组 struct stu-info stu01,那么如果需要一个指针指向这个数组,指针就应当定义为struct stu_info *p 这时p就能指向结构体数组stu01,其余指针的用法也就跟普通指针变量类似。1,找成员内占用空间最大的成员类型,以它的占用空间作为最小开辟单位,如结构体内为char short 则按2字节为最小开辟单位,如结构体内为 char short int则按4字节为最小开辟单位。占1字节后面空1字节。.
2022-08-04 00:06:41
935
原创 数组和指针结合易混淆的点
memmove(arr[0],arr[2],12)从数组第三个元素往后数12字节内容移动到第0元素。memcpy(arr1,arr2,8)从数组2拷贝八个字节内容到数组1,或者数组内部拷贝。一维数组和指针结合inta[]={1,2,3,4};二维数组和指针结合inta[3][4]={0};...
2022-08-02 00:31:49
68
原创 字符的判断、字符串的处理
strrchr(arr,'要查找的字符');字符串的追加strcat(stro1,str02)将2的内容追加到1的末尾,并且会在1末尾自动加上'\0'字符的切割strtok(str01,'')str01是切割对象单引号里是以什么符号为分割点。字符串中字符的查找strchr(arr,'要查找的字符');判断字符是否为数字的函数isdigit('字符')判断字符是否为小写字母的函数islower('字符')...
2022-08-01 00:39:57
128
原创 字符和字符串
获取字符串scanf(),格式转换符用%s,遇到\n获取停止,获取中遇到空格、tab认为需要获取内容结束(刚开始就有空格的话会一直读到有非空格为止),但是会有缓冲区溢出问题,可以在%s中间加入限定长度,如%5s。fgets(str,10,stdin)可以规定输入的字符长度,不会出现溢出,但第十个就是\0。charch='0',ch存的值是字符0,对应值48;ch=getche();...
2022-07-29 01:10:30
130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人