我如何在传递给具有结构指针的方法的结构中引用char *值?

问题描述 投票:-1回答:2

我的结构定义为:

struct B{
  struct B_test *class;
  char* value;
}

如果我有将结构作为参数传递的函数,该如何打印char值,如下所示:

void print(struct B* e){
  ...
} 
c pointers struct char c-strings
2个回答
3
投票

例如

puts( e->value );

printf( "%s\n", e->value );

只要数据成员值指向包含字符串的数组。

否则,您需要知道指向数组中实际元素的数量。

如果数据成员值指向单个字符,则可以像这样输出它,例如

printf( "%c\n", *e->value );

0
投票
void print(struct B* e){
    printf("%s", e->value);
} 

通过指针访问结构的元素是由->运算符而不是.运算符完成的。

© www.soinside.com 2019 - 2024. All rights reserved.