次のコード スニペットに問題があります。
#include <stdio.h>
struct some_numbers
{
int id;
char *somestring;
};
typedef struct some_numbers numb;
void print_numbers(numb *a)
{
printf("%d: %s\n", a->id, a->somestring);
}
void add_number(numb *a)
{
// do someting magical
// push the new result to the existing struct
// put something into like:
a->somestring[5] = "widdley";
}
int main(void)
{
// put some stuff in the struct
numb entries[50];
int x;
for(x=0; x < 4; x++)
{
numb a = entries[x];
a.id = x;
a.somestring = "goats";
print_numbers(&a);
}
add_numbers(&a); // i want to call a method
return 0;
}
構造体の配列を作成し、構造体をメソッドに渡し、さらに項目を配列にポップしたいと考えています。私がこれまで試みてきたことはすべて惨めに失敗し、この難問から抜け出す方法を考えるのに苦労しています. 問題なく値を出力できます。
> ./struct
0: goats
1: goats
2: goats
3: goats
>
出力を次のようにしたいと思います。
> ./struct
0: goats
1: goats
2: goats
3: goats
4: widdley
>
助けてください。c苦手なので優しくしてね!
編集: コード例を明確にして、間違った領域からフォーカスを外しました。