linux c 出错集
2024-08-29 22:47:17
2018.7.8
1.声明结构体时,结构体内部不能赋值。比如
struct student{
char id=0;
char score=0;
};
这样大错特错!
2.字符数组 char a[10] 。只有在声明的时候可以这样: char a[10]="xxxxx";
若 不是声明时,a="xxx";这样大错特错。a是一个常量指针,不能改变值。
此时可以用strcpy()或循环赋值。
3. 记住 中括号 [] 的降维作用。。。。。额。。无语。
谨记教训。
4.在创建链表结点的时候犯了一个低级错误:
错误代码是这样的:
void creat(p_list p)
{
p=(p_list)malloc(sizeof(list));
p->next = p;
p->pre = p;
p->data = 0;
}
这里的错误是这样的:忽略了变量范围的作用域。
这里的p_list p 很具有迷惑性,声明一个指向p_list型链表结点的指针。把p传进子函数,切记,这是传进子函数的是指针变量,传进子函数后,主函数的变量就已经失去作用了只不过是把主函数中P的值给了子函数中的p但是这时的p是子函数中的变量,其作用域只限于子函数区域。要更改错误有以下两种方法:
1,调用函数时传递p指针的地址。
2,将函数改为如下形式:
p_list creat()
{
p_list p;
p=(p_list)malloc(sizeof(list));
p->next=p;p->pre = p;p->data=0;
return p;
}
最新文章
- [译]:Orchard入门——给网站添加新博客
- fastReport 运行时设计报表 (mtm)
- Apache Thrift
- js对象的定义及处理
- 迷时师度,悟了自度(时间的边际效应),附VC参考书
- 安卓开发之使用viewpager+fragment实现滚动tab页
- 游戏中VIP会员模块的简单实现
- bzoj1030
- The method getContextPath() is undefined for the type ServletContext
- WebView的基本使用
- XTU 1250 Super Fast Fourier Transform
- Unity UGUI —— 无限循环List
- 浅谈Android的Activity运行流程(生命周期)
- 手机APP测试思路及测试要点
- redis新手入门,摸不着头脑可以看看<;一>;
- 第二篇:利用shell脚本执行webservice请求——基于soap
- 51 nod 1394 1394 差和问题(线段树)
- 记录Newtonsoft.Json的日常用法
- sharepoint2013 Restore-SPSite 报错,采用数据库还原
- go语言fallthrough的用法心得