第五节课 (数组)

数组不赋值时为随机值
初始化之后不可真题赋值
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;
}
只是交换了指针的地址没有换值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值