【411】COMP9024 Assignment1 问题汇总
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;
【411】COMP9024 Assignment1 问题汇总的更多相关文章
- LeetCode All in One 题目讲解汇总(持续更新中...)
终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...
- http status 汇总
http status 汇总 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redir ...
- HTTP头学习汇总
在开发http请求的时候,对HTTP头部信息一知半解,各种百度谷歌汇总一下学习到的资料. http简介 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于 ...
- Git常用操作汇总(转)
如果一个文件被删除了,可以使用切换版本号进行恢复.恢复方法: 先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么 git checkout com ...
- Android开源项目库汇总
最近做了一个Android开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽 ...
- Exchange Server 内部版本号和发行日期汇总
本章节对Exchange 各个主要发行版进行简单汇总,分别列出每个服务包 (SP) 的内部版本号.累积更新 (CU) 或特定 Exchange 版本的更新汇总 (RU).汇总内容适用于Exchange ...
- Android UI相关开源项目库汇总
最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个st ...
- LeetCode All in One题解汇总(持续更新中...)
突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对 ...
- java处理中国气象数据,提取汇总陕西地区24小时各观测点的数据(csv格式)
1.先贴一下气象数据的csv源格式,由于数据内容较多,就放一部分(china_sites_20150102.csv) date,hour,type,1001A,1002A,1003A,1004A,10 ...
随机推荐
- hdu 2579
#include<stdio.h> #include<queue> #include<iostream> #include<string.h> #inc ...
- Nginx,Apache,Tomcat区别
Nginx:一款能承受高并发的HTTP服务器,异步的,多个连接(万级别)可以对应一个进程,进行响应.基于事件驱动模型. Nginx优点:负载均衡.反向代理.处理静态文件优势. Apache:相对于Ng ...
- Codeforces Round #533 (Div. 2) E 最大独立集
知识点 最大独立集(set) = 补图的最大团(clique ) 最小顶点覆盖 + 最大独立集 = V E. Helping Hiasat time limit per test 2 seconds ...
- List和Map、Set的区别
首先 List 和 Set 是存储单列数据的集合,Map 是存储键和值这样的双列数据的集合:List 中存储的数据是有顺序,并且允许重复:Map 中存储的数据是没有顺序的,其键是不能重复的,它的值是可 ...
- Nginx配置upstream实现负载均衡及keepalived实现nginx高可用
(原文链接:http://www.studyshare.cn/blog-front//blog/details/1159/0 ) 一.准备工作 1.准备两个项目,发布到不同的服务器上,此处使用2个虚拟 ...
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据的SQL
原文:http://www.open-open.com/code/view/1423207309170 select * from ad_proTrack_t where to_days(crt_ti ...
- chapter1:using neural nets to recognize handwritten digits
two important types of artificial neuron :the perceptron and the sigmoid neuron Perceptrons 感知机的输入个数 ...
- poj1904 二分图匹配+强连通分量
http://poj.org/problem?id=1904 Description Once upon a time there lived a king and he had N sons. An ...
- Policy-based design设计模式
书在4年前看过.今天重温一下: 一直觉得这是最好的设计模式,大牛Andrei Alexandrescu 专门写了书,可见他的重要性 http://en.wikipedia.org/wiki/Polic ...
- 【转载】TCP,IP,HTTP,SOCKET区别和联系
网络由下往上分为: 对应 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- TCP协议 ...