1. 构建 Makefile 文件后运行错误,undefined reference to 'sqrt'

  • 实际上是没有链接math数学库,所以要
    $gcc test.c –lm //-lm就是链接到math库。
  • 参考:C 语言 undefined reference to 'sqrt' 问题解决
  • 参考:Why am I getting “undefined reference to sqrt” error even though I include math.h header? [duplicate]

2. Linux 下 C 语言程序的调试

  • 将文件保存为hello.c后,在终端中使用敲入以下命令来使用GCC对程序进行编译。
    gcc hello.c -o hello
  • 编译通过后,我们会在当前目录中看到hello文件,这就是编译后生成的可执行文件。
  • 参考:Linux下编写C程序( GCC )(hello,world)

3. 创建 Makefile 文件

  • 相当于将上面的编译命令写入到一个 Makefile 文件中,文件无扩展名,第一个字母可以大写,其他都是小写
  • 通过 make 命令可以执行 Makefile 文件
  • 参考:【410】Linux 系统 makefile 文件
  • 参考:Makefile使用

4. 文件标准输入输出,stdin、stdout、stderr

  • stdin:可以通过控制台、也可以通过文件
  • stdout:可以直接输出到文件
  • stderr:不会输出到文件
  • 参考:https://wiki.cse.unsw.edu.au/cs9024cgi/19T2/Lec01IO
  • 参考:格式化输出函数fprintf()中的stdout、stderr
//读取的数据存储在 str 中
//可以通过手动输入
//也可以通过命令行从文件输入
//a < input.txt
//将需要输入的信息存储到 input.txt 中即可
fgets(str, 50, stdin);//可以直接输出到控制台
//也可以通过命令行输出到文件中
//a < input.txt > output.txt
//只会将含有 stdout 的内容输出到文件中
//带有 stderr 的部分则是正常以错误的形式打印在控制台上
fprintf(stderr, "Error!");
fprintf(stdout, "Error!");

5. 不能使用数组(也就是方括号)

  • 动态分配内存
  • malloc:需要判断,最后需要释放
  • realloc:需要判断,最后需要释放
  • 参考:C语言内存分配函数malloc、calloc和realloc
  • 参考:【C/C++】内存分配与释放(malloc、calloc、realloc、free)
// (char *):说明类型,最好带着
// sizeof(char) * 10:分配内存的大小需要通过计算,不同类型不一样
char *str = (char *)malloc(sizeof(char) * 10);//判断
if (str == NULL){fprintf(stderr, "Memory allocation error.\n");exit(EXIT_FAILURE);
}// 基本与上面类似
str = (char *)realloc(str, sizeof(char) * 20);
//判断
if (str == NULL){fprintf(stderr, "Memory allocation error.\n");exit(EXIT_FAILURE);
}// 释放
free(str);
str = NULL;

转载于:https://www.cnblogs.com/alex-bn-lee/p/11072721.html

【411】COMP9024 Assignment1 问题汇总相关推荐

  1. http status 汇总

    http status 汇总 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redir ...

  2. AAAI2020录用论文汇总(三)

    本文汇总了截至2月23日arxiv上上传的所有AAAI2020录用论文,共计629篇,因篇幅过长,分为三部分,分享给大家.    AAAI2020论文汇总(part 3) [401] Justific ...

  3. 【Tools】C/C++开发SDK下载汇总

    00. 目录 文章目录 00. 目录 01. Oracle相关工具下载汇总 02. MySQL数据库相关工具下载汇总 03. 其它 该博客会定期更新- 01. Oracle相关工具下载汇总 1) Or ...

  4. 大数据面试题及答案 汇总版

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/albg_boy/article/det ...

  5. EOS dice移到1.8版本的修改汇总

    EOS dice移到1.8版本的修改汇总 1. CORE_SYMBOL 被去掉了,需要自己在文件中声明 eg: 1 uint64_t string_to_symbol_c(uint8_t precis ...

  6. 最全HTTP状态码汇总1XX——5XX

    HTTP状态码汇总 1XX:信息状态码 2XX:成功状态码 3XX:重定向状态码 4XX:客户端错误状态码 5XX:服务端错误状态码 http状态码可以让我们很方便的了解到请求的所在状态,当然其也是大 ...

  7. 四川农大2020计算机专业录取分数线,2020四川农业大学研究生分数线汇总(含2016-2019历年复试)...

    2020四川农业大学研究生分数线汇总(含2016-2019历年复试) 4784人浏览 发布时间:2020-12-23 13:23:43 考研就是人生的第二次高考,是再一次改变自己命运的机会,所谓7分靠 ...

  8. 遥感相关专业英语词汇汇总

    对网络上英语专业词汇进行汇总整理,如下表: 序号 英语基础词汇 摄影测量与遥感专业英语词汇 英语基础词汇 英语基础词汇-生态环境与遥感 1 Absorbed photosynthetically ac ...

  9. 计算机二级MS-Office真题及答案-历年汇总

    计算机二级MS-Office真题及答案-历年汇总- 计算机二级MS- Office真题及答案- 历年汇总- 基 础 一. 选择题 1. 世界上首先实现存储程序的电子数字计算机是____. A.ENIA ...

最新文章

  1. 【阿里云MPS】Demo
  2. 抛弃一键恢复。教你用vista一键还原备份多系统。图文教程
  3. 图像质量评价之数据库
  4. php中的字符串可以当做数组调用
  5. 拓端tecdat|回归树模型分析纪录片播放量影响因素|数据分享
  6. Atitit php读取数据库记录集合并循环修改展示//------------------------ini db sys$dbstr = “mysql:host=“ . $mysql_con
  7. SQL注射技术总结文档
  8. diabetes影响因子2017_2017年度影响因子看点和预测(MedSci出品)
  9. ggplot2 画图 X 轴排序问题
  10. matlab显示图像全黑,请教!彩色图像显示出来怎么是全黑的?
  11. html一键使网页字体变大,网页字体变大了怎么办
  12. ICLR 2023 | 厦大港大提出MRM:利用视觉+语言数据增强视觉特征
  13. SSM框架:SSM整合
  14. 性能测试跑分软件,AE Benchmark(AE性能测试跑分工具) V1.0 免费版
  15. 可视化网盘系统的设计与实现过程记录
  16. 网友才高八斗 译出奥巴马胜选演说文言版
  17. AI技术在基于风险测试模式转型中的应用
  18. 统计字符串中包含了多少个数字,多少个字母
  19. 多晴转云h_津南2021年2月2日天气:晴转多云,气温:-7~2℃
  20. 零基础学习次世代游戏建模,3D建模软件全解!零基础的你快收藏

热门文章

  1. 大数据测试:多图表报告数据抓取参数
  2. html5开发游戏的意义,web前端使用HTML5开发游戏的好处有哪些
  3. Javaweb-Servlet总结(概述、接口使用、配置、获取请求方式、路径操作、Request对象、Response对象)
  4. IDEA安装与配置 (一) IntelliJ IDEA2018.2.7安装
  5. Hadoop大数据开发基础
  6. Redis应用场景概述
  7. keil编译时遇到error:L6002U
  8. android 资源限定符,Android 適配時資源限定符的說明
  9. 用计算机如何算瓷砖菱形加工,瓷砖菱形块怎么计算切图解
  10. 《被讨厌的勇气》书摘心得之让干涉你生活的人见鬼去(3)