字符串、指针的几点说明
1.字符串操作
1.对字符串操作时,要最快想到’\0‘的能力。
2.字符串可以相减,’\0’相减时相当于数字0
2.指针
1.无类型指针不能+1,不能解析
无类型指针的应用是fun函数
void my_memcpy(void*dest,void*src,int elemsize,int n)
{
char* dp=(char*)dest;
char* sr=(char*)src;
for(int i=0;i<elemsize*n;++i)
{
dp[i]=sr[i];
}
}
2.野指针:未进行初始化的指针
解决办法:
1.定义空指针
2.指向合法地址
3.失能指针(失效指针):指向的空间已经被释放了
只能凭借经验判断,没法直接判断
4.空指针:不能从0地址取值
3.断言assert
断言式内为假时中断,为真时向下执行
assert(br!=NULL);
断言只在debug下有用
断言的本质是,将类型强转为void类型,因为下面的代码不可能执行
assert(br!=NULL)&&assert(n>0)
//因为会变成
assert(br!=NULL)&&void