@YamahaSV Вы можете объявлять и инициализировать переменные вне функций, но у вас не может быть простых назначений. Так что ты не можешь писать
struct variables {
unsigned int counter;
char *bra;
unsigned int maxb;
int *findtheking;
unsigned int numoright;
};
int getlen = 0; // I give getlen a value in another function
int solo = 0;
mat.bra = (char*)malloc(sizeof(char)*getlen);
mat.bra = '\0';
struct variables pal = { 0, '\0', 0, 0, 0 };
struct variables mat = { 0, '\0', 0 , 0, 0 };
struct variables all = { 0, '\0', 0, 0, 0 };
struct variables alle = { 0, '\0', 0 , 0, 0};
l Studio говорит мне, что
mat.bra = (char*)malloc(sizeof(char)*getlen);
*mat.bra = '\0';
обе потребности ';' и я не понимаю почему. Пожалуйста помоги?
и будет ли для меня возможность malloc для mat.bra, если я
int matches(char* str, int len) {
getlen = strlen(str);
if (mat.counter >= strlen(str)) {
if (mat.bra[strlen(str)-1] == '(') {
mat.counter = 0;
mat.bra[0] = '\0';
return 0;
}
else if (mat.bra[strlen(str)-1] == '0') {
mat.counter = 0;
mat.bra[0] = '\0';
return 1;
}
}
else {
if (str[mat.counter] == '(') {
mat.bra[len-1] = str[mat.counter];
mat.counter++;
matches(str, len - 1);
}
else if (str[mat.counter] == ')') {
if (mat.bra[len] == '(') {
mat.counter++;
mat.bra[len] = '0';
matches(str, len + 1);
}
else {
mat.counter = 0;
mat.bra[0] = '\0';
return 0;
}
}
else {
mat.counter++;
matches(str, len);
}
}
}
есть эта функция в первой части кода?
Я запускаю матчи в main.c, а эти коды в func.c
Я пытаюсь запустить эту функцию match в main.c несколько раз, и мне нужно, чтобы mat.bra имел разный размер strlen (str) при каждом запуске. Могу ли я даже так malloc таким образом?
Извините, если мой вопрос неопределенный, я новичок в кодировании. Если что-то нуждается в улучшении, скажите мне, и я постараюсь уточнить больше!