十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
看的出来b和a[i].num应该都是字符串,类似str[20]这样的形式吧?
专注于为中小企业提供网站建设、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业平原免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
C语言里面,字符数组或者字符串的名称代表该字符串所在的地址。两个字符串如果用==来判断实际上是比较的他们的地址是否相同;除非是自己和自己比较,否则,两个字符串地址肯定不等啦。
要比较字符串内容,比如char str1[] = "abc"和char str2[] = "abc"这两个字符串是否相等只能用strcmp这个方法来比较的。
指向结构体成员运算符 : (-) 从外部看是包含了一个解指针(*)所以要对指针进行操作
例如:
typedef struct
{
int data[20];
int length;
}Sqlist;
Sqlist
*L;
L-lenth;
//同样是得到L中length的值
结构体成员运算符 : ( . )直接调用结构体中的某个成员
例如:
typedef struct
{
int data[20];
int length;
}Sqlist;
Sqlist L;
L.length; //直接调用L中length的值
L.data[3];
扩展资料:
结构体成员的点运算符(.)和箭头运算符(-)的区别:
相同点:两个都是二元操作符,其右操作符是成员的名称。
不同点:点操作符左边的操作数是一个“结果为结构”的表达式;箭头操作符左边的操作数是一个指向结构的指针。
如果一个函数的传入参数是结构体,且需要该结构体作为返回值的时候,必须采用指针传递的方式,其中对结构体赋值必须使用箭头运算符。
参考资料:
百度百科--
菜鸟教程-C++ 运算符
首先你的linkman是struct person的数组
linkman本身就是个地址
可以直接传递到函数里的
如果你要用指针的话,就需要一个struct的二维指针,或者指针数组,如struct person **p;或者struct person (*p)[200];
还是建议你直接使用linkman传递地址。
另外,你要用linkman里面的name的话,如果是当字符串来使用的话,直接linkman[1]-name就可以了