Can a function defined inside another function?

Asked by Last Modified  

Follow 0
Answer

Please enter your answer

Professional Trainer:: Hadoop Big Data, DevOps, Perl, Python

No its not allowed, but some compilers support. Instead check out OOP C++, which would encapsulation, that is better than function in function.
Comments

In standard C No, but some compilers do, example gcc
Comments

Programming Trainer

Yes, but the prototype of the function must be declared in the begging of the program. Another notable point is that it will re defined every time the outer function is called and it might lead the compiler to be ambiguous about such lines of code.
Comments

Tutor

Yes . It is called function within a function.
Comments

I am a teacher.

Yes, you can. See below example: display() function definition inside sum() function definition. #include "stdio.h" void main(){ sum(); } int sum(){ void display(){ printf("inside display"); } printf("inside sum \n"); display(); }
Comments

ya why not you can have following example Double stuff(double a, double b) { struct parameters { double a, b; }; double f(double x, void * params) { struct parameters p=(struct parameters *) params; double a=p->a, b=b->b; return some_expression_involving(a,b,x); ...
read more
ya why not you can have following example Double stuff(double a, double b) { struct parameters { double a, b; }; double f(double x, void * params) { struct parameters p=(struct parameters *) params; double a=p->a, b=b->b; return some_expression_involving(a,b,x); } struct parameters par = {a,b}; return integrate(&f, &par); // return added! } read less
Comments

Doing mathematics & computing from IIT Delhi

No, you can call other function(s) inside a function but you cannot define a new function in it.
Comments

Thanks for the question Kamal, No a function cannot be defined inside another function. Thanks, Team DishaaPro www.dishaapro.com
Comments

View 6 more Answers

Related Questions

Why do we use # in C programming?
In the C programming language, # is used for preprocessor directives. The preprocessor is a program that runs before the compiler and processes special directives that begin with # . These directives allow...
Dhanya
0 0
5
How to improve my c knowledge........
practice it as much as possible. for beginning, use let us c by yashwant kanetkar
Anish
Difference between "C structure" and "C++ structure".
C is process oriented programming.. so c follows procedure in execution where as C++ is object oriented and messages are been passes between the objects..
Khushboo
Can you suggest me some books for learning C?
"letus c" for c programming yashwant kanetkar
Yamun
How do I write a C program to print the total number of a single-digit prime number using a loop?
Single Digit prime number means number from 0 to 10 which are prime. so write for loop which will iterate from 0 to 10 as the value of i your i is nothing but the number pass the value of i to function...
Momin
0 0
7

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

All About Programming And A Good Programmer.
Hi, This is my first lesson for you guys. Hope you enjoy reading it. In recent community questions, I found many people wanted to be good programmers, or wanted to have good hands on certain language,...

Some interview questions for freshers on C language
Q1. What are the two forms of #include? There are two variants of #include. The one is #include and the other one is #include”file”. In general the first form that is #include is used to...

Some interview questions and answers for fresher level on Pointers
What is a void pointer? Void pointer is a special type of pointer which can reference or point to any data type. This is why it is also called as Generic Pointer. As a void pointer can point to...

Why do pointers have a datatype?
Before we start with pointers you must know what is a variable and a datatype. int a; This is the basic line in every program in 'C' . It means that we are asking the compiler to give us 2 bytes of space...

Find out the Output of the following with reason and get C Language Training fess less by 10%
1. void main() { clrscr(); printf(5+"Beautifull"); getch(); } 2. void main() { int a=50; clrscr(); ...

Recommended Articles

Brilliant Academy is one of the reputed institutes for B.Tech tuition classes. This institute is specialised in delivering quality tuition classes for B.E, Engineering - all streams and Engineering diploma courses. Incorporated in 2012, Brillant Academy is a brainchild of Mr Jagadeesh. The main motto of the academy is to...

Read full article >

Lasya Infotech is a Hyderabad based IT training institute founded in 2016 by O Venkat. Believing in his innovation, passion and persistence and with a diverse blend of experience, he started his brainchild to deliver exemplary professional courses to aspiring candidates by honing their skills. Ever since the institute envisions...

Read full article >

Hadoop is a framework which has been developed for organizing and analysing big chunks of data for a business. Suppose you have a file larger than your system’s storage capacity and you can’t store it. Hadoop helps in storing bigger files than what could be stored on one particular server. You can therefore store very,...

Read full article >

Business Process outsourcing (BPO) services can be considered as a kind of outsourcing which involves subletting of specific functions associated with any business to a third party service provider. BPO is usually administered as a cost-saving procedure for functions which an organization needs but does not rely upon to...

Read full article >

Looking for C Language Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you