【发布时间】:2017-02-20 03:45:51
【问题描述】:
我想要一种将字符串转换为结构变量的方法。
例如)
struct DAT
{
int a,b;
char c,d;
float e,f;
}DAT1,DAT2,Main_data;
main()
{
Test_function(1)
}
Test_function(int num)
{
Main_data = DAT(num) // If num is 1, Main_data = DAT1
}
我想要这个程序。
但我不能使用定义和指针。
这意味着我不使用 * 和 # 运算符。
我该怎么做?
【问题讨论】:
-
请您以简单明了的方式举例说明您真正想要实现的目标
-
struct DAT dat_array[2]; Main_data = dat_array[num-1]; -
if ( num == 1 ) Main_data = DAT1; else Main_Data = DAT2; -
请注意,现代 C(意思是“自 1990 年左右编写的 C”)应该为每个函数都有一个明确的返回类型 —
int main(void)、void Test_function(int num)等。是的,编译器仍然允许马虎旧的表示法——但这并不能使它成为良好的风格,C99 和 C11 明确禁止“隐式 int 返回类型”。 -
struct 类型变量可以添加更多。但我不知道它是如何上升的。我该怎么做?...而且,类型错误是我的失误。对不起。