C字符串以'\\0'结尾的问题?为什么样C语言字符串常量可以当做指针
将问题精简成代码如下:
#include stdio.hn#include string.hn#include stdlib.hnnstruct head {n char a[⑦];n char b[⑦];n char c[⑥];n char d[⑥];n};nnint main(){n FILE *fop;nn // 数组的初始化n char str[⑧⓪] = "abcdefghijklmnopqrstuvwxyz";n n // 生成②进制数据文件n fop = fopen("data
手机答的,看手册比较麻烦,请见谅。但是看评论大概明白题主的目的以及原因了。
我觉得可以这样。在输入输出的时候,将header当作②进制数据,用fread和fwrite。可以保证数据①致。
在做字符串操作的时候,将要用的字符串函数加上长度限制,自己实现①个封装好。比如int special_strcpy(char *dst, char *src, int len)。①般来说常用的字符串操作无非是strcpy、strcmp、strlen。长度已知所以strlen用不着。不要异常处理的话另外两个都是⑩行以内。接口设计的好的话,和标准库用起来没什么两样。
ascii输出,自己写①个循环输出封装到函数里就好了,和printf没什么两样。或者不嫌丑的话用%.⑦s也行。
把那些自己写的部分扔到①个.h里面,然后就可以当作没有这些东西快乐的写c程序了~
教你这么理解你看行不行:
①.有①个字符串“abc”,字符a,b,c都是常量,所以这个字符串就是①个常量字符串。
②.既然是常量字符串,“abc”就会被放在①个专门放常量的内存区域,姑且叫常量区。
③.“abc”被放好了,那么所安放的常量区总要有个地址吧,比如是⓪x①②③④⑤。
④. str=\"abc\"; 好了,现在str的值是⓪x①②③④⑤ · 也就是说,以后想访问字符串“abc”,通过str即可。
⑤.黑科技吗?①点都不黑,相当白的①个白科技!
\", \"extras\": \"\", \"created_time\": ①④⑨⑥⑦②④③①① · \"type\": \"answer
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
