第五节课 (数组)
来源:互联网 发布:邮件营销软件破解 编辑:程序博客网 时间:2024/06/08 09:09
数组不赋值时为随机值
初始化之后不可真题赋值
1.
void InitArr() 局部变量在栈中存放(栈是由高低之向低地址增长)
{
}
arr[1] 在栈中是 arr[0]
arr[1] 这样存放
2.
数组 哨兵位 (防止数据越界)
在C中哨兵值是用来控制一个程序,或一次输入等何时结束的值。
在这个数组中我估计是用来控制你输入的值的个数,防止超出你定义的数组大小!
如:
int array [4],而你却输入了5个值,这样程序就会报错!
3.
测量数组的长度
int len;
len=sizeof(arr)/sizeof(arr[0])
然后 用len 代替数组的长度
4.
数组中 数组的名字为数组首元素首地址的首地址
5.
野指针
野指针指指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。
如何避免**
1.定义时指向设定的空间
2.定义为空
6.
%s遇到’|0’才停止
二: 程序解析。
1
void Swap1(int a,int b)
{
int tmp = a;
a = b;
b = tmp;
}
a和b是形参 只传值不可改变
2
void Swap2(int *p,int *q)
{
int *tmp ;//野指针
*tmp = *p;
*p = *q;
*q = *tmp;
}
由于*temp是野指针所以错误,应改为 int *tmp = NULL;
3
void Swap3(int *p,int *q)//正确版本
{
int tmp = *p;
*p = *q;
*q = tmp;
}
4
void Swap4(int *p,int *q)
{
int *tmp = p;
p = q;
q = tmp;
}
只是交换了指针的地址没有换值
- 第五节课 (数组)
- 11.7第五节课
- 指针和数组(第五节 定义与声明)
- php学习笔记:第五节--php数组
- javascript-第五节-字符串、字符数组
- C#的第五节课
- Python公开课第五节
- c++第五节课 多态
- 第五节课 创建性模式(一)
- c++ primer第五版(中文)习题答案 第三章第五节-数组
- F28027第五节课---GPIO基础解读
- JAVA第一课第五节知识点
- C语言第五节-原码-数组-字符串
- 进击的KFC:第五节:C语言:二维数组
- 百宝云基础语法新手教程—第五节数组
- 第五节 CImage和CBmp(二)
- 第五节(Meta的网页跳转)
- java第五节课堂笔记(继承)
- java鬼混笔记:redis 7、redis集群配置
- spring aop 第一个程序
- oracle--常用函数5--转换函数
- java入门到开发系列技术学习资源
- 【哈尔滨理工大学第七届程序设计竞赛决赛(高年级组)】 A B C D E G
- 第五节课 (数组)
- 安装JRebel后tomcat启动失败
- Web性能优化——雅虎军规
- OKHTTP请求+拦截器+Gson单利(攻击类)
- Ubuntu16.04+Pycharm+Anaconda配置
- Objective-C Runtime 运行时(2)
- (猜想)未来我们的优势在哪里
- 全新安装Windows10系统(PE下)
- HIVE和HBASE区别