2014-11-09 6 views
-1

Вы можете написать прототипы без имен переменных?c программирование, как написать это в главном

int example(examplestruct *var1, examplestruct *var2); 
void done(examplestruct *var1,FILE *f); 

struct { 
    int* field1; 
    int field2; 
    }examplestruct; 

Можно ли написать прототипы без переменных имени?

+2

да прототип функции не должен иметь имена аргументов, только тип - вы не можете иметь вложенные функции в C, хотя, так что никаких функций определенный в main() – bph

+0

Для меня это выглядит отлично! вам не нужно записывать имена параметров в прототипе функции! Но вы не можете определить функцию в другой функции – Rizier123

+1

, что «я могу написать ее в основном и просто написать, где read - это имя переменной?» Означает? У меня возникли проблемы с разбором этого предложения. То же самое с 'удалить функцию и сделать ее в основном'. Что вы понимаете под «удалить функцию» и «сделать функцию в главном» – PeterT

ответ

1

Может ли кто-нибудь сказать мне, допустимо ли это на языке C? Вы можете написать прототипы без имен переменных?

Да.

Что касается второго вопроса:

Если вы хотите функцию быть внутри main(), а затем взять тело функции, поместите его в main() и убедитесь, что аргументы, что функция была хорошо обработаны.


Этот пример не прояснятся вещи:

#include <stdio.h> 

void print(int); 

void inc_p(int); 

int main(void) { 

    int num = 5; 
    print(num); 
    inc_p(num); 

    // to get rid of inc_p(), copy paste it's body inside main 
    // and you will get this 
    // a++; 
    // print(a); 
    // However, a was an argument, here you need to use 
    // the variable declared in main(), i.e. 'num' 

    num++; 
    print(num); 

    return 0; 
} 

void print(int a) { 
    printf("%d\n", a); 
} 

void inc_p(int a) { 
    a++; 
    print(a); 
} 
+0

Если для вас подходит asnwer, вы можете принять его @cstack – gsamaras