Похоже, вы только что начали изучать язык C.
Это очень базовая c концепция языка C (или любого языка программирования, поддерживающего функциональную парадигму), которую имеет каждая функция. свое собственное пространство.
На очень базовом уровне c я скажу, что вам нужно думать, что каждая функция является отдельным блоком, и один блок не может заглядывать внутрь другого блока, но они могут только вызывать их или предоставить им некоторые значения, но они не могут делиться друг с другом или заглядывать друг в друга.
Итак, возможно, есть два решения: либо вы предоставляете значения другой функции, передавая их в качестве аргумента, либо просто помещаете их переменные в каком-то месте, где обе функции могут совместно использовать их (глобальные переменные).
/**
* This is the functional approach.
*
* Since name and address were arrays so, we need pointers to supply them here.
* and in the `printf()` I used "%s", it is used to print strings. "%d" prints
* integers, numbers only
*/
int view_list(char* name, char* address) {
printf("Here is your name: %s", name);
printf("Here is your name: %s", address);
return 0;
}
/**
* This is the procedural approach.
*/
char name[15], address[30];
int new_acc() {
// Instead of declaring them here.
// declare them in globally.
//
// char name[15], address[30];
printf("Enter your name: ");
fgets(name, sizeof name, stdin);
printf("Enter your Address: ");
fgets(address, sizeof address, stdin);
return 0;
}
int view_list() {
printf("Here is your name: %s", name);
printf("Here is your name: %s", address);
return 0;
}