char temp[50]; char voltage[50]; char offset[50]; char wr1_linkt[50]; char wr1_loop[50]; char wr1_onew[50]; char wr0_linkt[50]; char wr0_loop[50]; char wr0_onew[50]; char time[50]; int data[10] = {temp,voltage,offset,wr1_linkt,wr1_loop,wr1_onew,wr0_linkt,wr0_loop,wr0_onew,temp};
时间: 2024-03-01 07:51:19 浏览: 52
这段代码仍然有语法错误。变量 data 是一个 int 类型的数组,但是在初始化时使用了花括号并列出了多个字符串变量的地址,这是不允许的。您可以使用一个指向 char 类型数组的指针数组来存储这些字符串变量的地址。我来给您举个例子:
```
char temp[50];
char voltage[50];
char offset[50];
char wr1_linkt[50];
char wr1_loop[50];
char wr1_onew[50];
char wr0_linkt[50];
char wr0_loop[50];
char wr0_onew[50];
char time[50];
char* data[10] = {temp, voltage, offset, wr1_linkt, wr1_loop, wr1_onew, wr0_linkt, wr0_loop, wr0_onew, time};
```
这里定义了一个名为 data 的指针数组,共有10个元素,每个元素都是一个指向 char 类型数组的指针。然后使用数组初始化语法,将每个字符串变量的地址分别初始化,并存储到数组中的对应位置。这样就可以存储这些字符串变量的地址了。需要注意的是,这里的数组初始化语法只适用于指针数组,而不适用于普通数组。
相关问题
char temp[50]; char voltage[50]; char offset[50]; char wr1_linkt[50]; char wr1_loop[50]; char wr1_onew[50]; char wr0_linkt[50]; char wr0_loop[50]; char wr0_onew[50]; char time[50]; char data = {temp,voltage,offset,wr1_linkt,wr1_loop,wr1_onew,wr0_linkt,wr0_loop,wr0_onew};
这段代码有语法错误。变量 data 的类型是 char,但是在初始化时使用了花括号并列出了多个字符串变量,这是不允许的。应该使用一个结构体或者数组来存储这些字符串变量。我来给您举个例子:
```
struct Data {
char temp[50];
char voltage[50];
char offset[50];
char wr1_linkt[50];
char wr1_loop[50];
char wr1_onew[50];
char wr0_linkt[50];
char wr0_loop[50];
char wr0_onew[50];
char time[50];
};
struct Data data = {
"temp value",
"voltage value",
"offset value",
"wr1_linkt value",
"wr1_loop value",
"wr1_onew value",
"wr0_linkt value",
"wr0_loop value",
"wr0_onew value",
"time value"
};
```
这里定义了一个名为 Data 的结构体,包含了10个 char 类型的数组成员。然后使用结构体初始化语法,将每个成员的值分别初始化,并赋值给一个名为 data 的 Data 类型变量。这样就可以存储这些字符串变量了。
char temp[50]; char voltage[50]; char offset[50]; char wr1_linkt[50]; char wr1_loop[50]; char wr1_onew[50]; char wr0_linkt[50]; char wr0_loop[50]; char wr0_onew[50]; char time[50]; char data[10] = {temp,voltage,offset,wr1_linkt,wr1_loop,wr1_onew,wr0_linkt,wr0_loop,wr0_onew,temp};
这段代码也有语法错误。变量 data 是一个 char 类型的数组,但是在初始化时使用了花括号并列出了多个字符串变量,这依然是不允许的。与上一个例子类似,您可以使用一个结构体或者二维数组来存储这些字符串变量。我来给您举个例子:
使用结构体:
```
struct Data {
char temp[50];
char voltage[50];
char offset[50];
char wr1_linkt[50];
char wr1_loop[50];
char wr1_onew[50];
char wr0_linkt[50];
char wr0_loop[50];
char wr0_onew[50];
char time[50];
};
struct Data data = {
"temp value",
"voltage value",
"offset value",
"wr1_linkt value",
"wr1_loop value",
"wr1_onew value",
"wr0_linkt value",
"wr0_loop value",
"wr0_onew value",
"time value"
};
```
这里同样定义了一个名为 Data 的结构体,包含了10个 char 类型的数组成员。然后使用结构体初始化语法,将每个成员的值分别初始化,并赋值给一个名为 data 的 Data 类型变量。
使用二维数组:
```
char data[10][50] = {
"temp value",
"voltage value",
"offset value",
"wr1_linkt value",
"wr1_loop value",
"wr1_onew value",
"wr0_linkt value",
"wr0_loop value",
"wr0_onew value",
"time value"
};
```
这里定义了一个名为 data 的二维 char 类型数组,共有10行50列。然后使用二维数组初始化语法,将每个字符串变量的值分别初始化,并存储到数组中的对应位置。
阅读全文