C语言中IF里条件入if(!*src || !*substr) while (*src)里面没有入if(a=b)这类

谢谢if(!*src || !*substr) while (*src)分别代表什么意思,还有比如tt = (char *)src中(char *)是什么意思,为什么要带着括号,

第1个回答  2020-03-23
src是个指针,*src意思是获取src指向的内存空间的值,!*src的意思是跟*src==0意思一样,判断这个内存空间的值是否为0,substr的分析类同。
所以if(!*src
||
!*substr)的意思就是if(*src==0
||
*substr==0),就是判断这两个指针指向的内存空间的值是否为0,只要有一个为0,就满足if条件判断。
while(*src)的意思就是当src指向的内存空间的值不为0。
tt=(char
*)src的意思是把指针src强制类型转换为char型指针。强转类型必须加括号,这是C语言规定。