编程中犯的错误
来源:互联网 发布:网络清洁器 编辑:程序博客网 时间:2024/05/17 10:40
1.指针赋值
定义一个指针变量,如果要用它一定要给它分配空间。
struct abc *tak;
tak->dog = 2; 错误
针对上面两种错误的改进:
(1).把变量的地址赋值给指针
int b; int *p; p = &b; *p = 2; 正确
(2).分配要操作的空间
int *p; p = (int *)malloc(sizeof(int)); *p = 2; 正确
struct abc{
struct abc *tak;
tak = (struct abc *)malloc(sizeof(struct abc));
tak->dog = 2; 正确
2.sizeof
结构体要考虑,字节对齐
定义一个指针变量,如果要用它一定要给它分配空间。
如:
struct abc{ int *p; *p = 2; 错误
int dog;
}; char *q;
struct abc *tak;
tak->dog = 2; 错误
针对上面两种错误的改进:
(1).把变量的地址赋值给指针
int b; int *p; p = &b; *p = 2; 正确
(2).分配要操作的空间
int *p; p = (int *)malloc(sizeof(int)); *p = 2; 正确
struct abc{
int dog;
}; char *q;
struct abc *tak;
tak = (struct abc *)malloc(sizeof(struct abc));
tak->dog = 2; 正确
2.sizeof
sizeof是一个关键字。
void abc(char b[ ]); sizeof(b); //数组名作形参,相当于传递的是指针,占4个字节int a;
A. sizeof(int)
B. sizeof(i)
C. sizeof i
D. sizeof int
上面A,B,C的写法都是正确的,D写法不正确,编译器不通过。
int b; sizeof(b); //整形,32位机,占个字节
char *b = "qiao"; sizeof(b); //指针,占4个字节
char b[ ] = "qiao"; sizeof(b); //数组,字符串,占5个字节,包括“\0”。
结构体要考虑,字节对齐
18 0
- 编程中犯的错误
- 编程容易犯的错误
- 我在学习编程中犯的两个最大错误
- 在学习编程中犯的两个最大错误
- 我在学习编程中犯的两个最大错误
- 我在学习编程中犯的两个最大错误
- 我在学习编程中犯的两个最大错误
- 开发中犯的错误
- 个人编程犯过的错误
- 初学者编程容易犯的错误!
- Java编程容易犯的错误汇总
- 我编程中常犯的错误
- Bash编程易犯的错误
- C语言编程时常犯的错误
- 编程新手常犯的十个错误
- Bash编程容易犯的错误
- asp.net中容易犯的错误
- asp.net中容易犯的错误
- 用STL实现堆容器
- 哈希表入门题目总结(HDU 1280、1425、2027、3833、1496、2648 POJ 1200)
- XDU Problem 1255 - 数列游戏
- Git 常用指令详解
- Hibernate的generator属性
- 编程中犯的错误
- Hype Cycle (技术成熟度曲线)
- 一些算法的MapReduce实现——矩阵分块乘法计算(2)
- Debian 7下配置samba和Windows8共享
- HDOJ 1039 Easier Done Than Said?
- 黑马程序员---java学习笔记之泛型
- Yii tips 2
- 使用python的logging模块
- linux 常用命令