这里有指针的问题想请教一下.
请看:
struct data
{
char name[20];
.............
}addr_list[MAX]; //这个有个结构体
............
if( *addr_list[i].name) // 就是不知道这个条件是什么意思?
{ ........}
[此贴子已经被作者于2005-2-7 22:32:22编辑过]
搜索更多相关的解决方案:
指针
----------------解决方案--------------------------------------------------------
如果字符指针*addr_list[i].name所指向的地址内容不为0,则{........}
----------------解决方案--------------------------------------------------------
可是addr_list[i].name前面为什么要加 * 呢??
----------------解决方案--------------------------------------------------------
准确的来说addr_list[i].name是一个指针,而一个指针前面加一个*表示这个指针所指向内存地址的内容
----------------解决方案--------------------------------------------------------
那为什么不用addr_list[i]最为i成员的首址呢?为什么加了个name 进来?或者addr_list[i]与addr_list[i].name 是同一个地址.
----------------解决方案--------------------------------------------------------
"addr_list[i].name是一个指针,而一个指针前面加一个*表示这个指针所指向内存地址的内容"----*addr_list[i].name.就是addr_list[i].name[0]吧;
“addr_list[i]与addr_list[i].name 是同一个地址.”但是他们所指的的东西不一样哈,而且他们的运算也不一样(如addr_list[i]++和addr_list[i].name ++)
----------------解决方案--------------------------------------------------------
觉得是这样,地址都一样,差别在运算上,谢谢了!
----------------解决方案--------------------------------------------------------