我想把两个值放在一个array
中,但都在同一index
中。喜欢
char array1[i] = array2[i], array3[i+1];
当我打印array2
和array3
for (int i = 0, i < 3; i++) {
printf("%c%c ", array2[i], array3[i+1]);
}
我的输出是这样的:12 34 56(现在每个对都应该在一个index
中(。
基本上,我想将这个新数组与另一个数组进行比较。另一个数组具有这种结构(它是一个buffer
(,因此例如 buffer[1]
是 12,buffer[2]
是 34,依此类推。 char array[]
定义为char array[] = "123456"
。
尝试创建一个结构 -
struct node
{
int data1;
int data2;
}s;
在这里,您创建了一个包含 2 个数据元素的结构。此外,您还创建了一个结构"s"。现在,每当要插入值时,都要引用该结构中的数据元素。所以在这里,例如,你可以说s.data1=value1
和s.data2=value2
.
由于您正在处理数组,因此创建结构数组更合适。我有没有告诉过你一个结构可以有多个数据类型的变量?看一个例子——
struct student{ //a student structure holding multiple values like his/her roll number, name, and grade
int rollno;
char name[10];
char grade[2];
};
struct student st[5]; //creating an array of structures (for 5 students)
for(i=0;i<5;i++){ //accepting values from the user
printf("nEnter Rollno:");
scanf("%d",&st[i].rollno);
printf("nEnter Name:");
scanf("%s",&st[i].name);
printf("nEnter Grade:");
scanf("%d",&st[i].grade);
}
for(i=0;i<5;i++){ //displaying values to the user.
printf("nRollno:%d, Name:%s, Grade:%s",st[i].rollno,st[i].name,st[i].grade);
}
这个答案的主要本质是告诉你结构将适合你的应用程序,一旦你创建了一个结构数组,它们的工作方式与任何其他数组相同,但具有结构的优点。
如果您有任何其他疑问,这应该对您有所帮助。
谢谢