首页 > 其他 > 详细

2020春-C高级--第三周--视频内容大纲

时间:2020-03-16 10:06:51      阅读:68      评论:0      收藏:0      [点我收藏+]

1.2.2 动态内存分配

  • 动态内存分配函数:int *a = (int*)malloc(n*sizeof(int));,申请的空间大小以字节为单位。
  • malloc返回结果是void*,需要强制类型转为需要的类型,如果没有申请成功,返回0/NULL,那么你的电脑能申请多大空间那?
  • 申请了空间,一定要记得返回,free()函数返还空间。
  • 良好编程习惯:定义指针就初始化为0。根据C99中free的定义,free(0/NULL)不会发生任何事也不会出错。若P不是malloc来的,如果释放p,c99的解释这种行为是未定义,有些编译器会出错误,有些比如devc++则不会出错误。
技术分享图片
  • 良好编程习惯:malloc后配着free,申请了必须还!

1.3.1 单字符的输入输出

  • putchar()函数打印一个字符,返回值int类型,是大于0的数,表示打印的字符的格式,返回值是-1/EOF(宏EOF的值是-1),表示打印失败,一般不检查putchar的返回值。
  • getchar()函数读入一个字符,返回值int类型,若返回值是-1/EOF,表示读入失败,否则读入成功。
    • 结束输入状态快捷键/输入EOF,Windows:Ctrl+Z,Unix:Ctrl+D
    • Ctrl+C强制结束程序
技术分享图片
  • 上述程序两种写法等价,另外getchar每次只能读一个字符,但当输入很多个字符时,按下回车会输出输入的字符,主要是因为缓冲区的存在。CPU和键盘之间是有缓冲区的。

1.3.2 字符串和字符串指针

  • 关于 agrc和argv,devc++可菜单栏上的运行-->参数打开给主函数输入数据的窗口
    技术分享图片
  • 字符串的定义有字符数组和字符指针两种方式,区别是字符数组定义的字符串在数据区,字符指针定义的字符串在代码区。

1.4 字符串函数的实现

  • string length函数:strlen(const char *s) 返回s的字符串长度,不包括结尾的\0.
  • string compare函数:strcmp(const char s1,const char s2),返回值有三种:0表示s1==s2,1表示s1>s2,-1表示s1<s2。注意该函数实质是依次比较字符串中各字符的ascii码。

2020春-C高级--第三周--视频内容大纲

原文:https://www.cnblogs.com/c-programing-language/p/12492284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!