Tuesday, June 28, 2011

Use of return statement in a function

The most important thing is to know what happens when a return type function is used . let us taken a simple example
of it .
           function with return type :
            sum()- this is a function call.when the program encounters this statement it automatically goes to the definition part of the function from the main function.the point to be noted in here is before going to the defintion part of a function it stores the function call line address of the main function to the stack. now after executing that function when it encounters the closing "return" statement of the function. the stored address in the stack helps it to come back to the line where it is called from  the main function program.
look down the fig below and follow the steps :

Monday, June 27, 2011

Function Call

The most important thing is to know what happens when a function is called . let us taken a simple example
of it .
           function with no return type :
            sum()- this is a function call.when the program encounters this statement it automatically goes to the definition part of the function from the main function.the point to be noted in here is before going to the defintion part of a function it stores the next line address of the main function to the stack. now after executing that function when it encounters the closing "}" of the function. the stored address in the stack helps it to come back to the next line of the main function program.
look down the fig below and follow the steps :

Saturday, June 25, 2011

Functions in C and C ++

Function is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code.
 functions in c and c++ has three things to be considered before using it in a program
  •        prototype - tells you what type of function that you are going to use in your program
  •        definition- defines the function
  •        call- calls the function
 It is to be noted that where these three things comes in our program.Function prototype comes before starting of the main function after the main function.Function definition comes after the main function ends and Function  call comes inside the main function.

The general format of a function is
<Return type>   <Function name>   <Parameter list> 
{
     local definitions;
     statements;
     Return value;
}
#include <stdio.h>
int f1(int,int);      //prototype
void main(){
   int i=3;
   int j = 6;

   int k = f1(i,j);   //call
  
   printf("%d",k);
}
int f1 (int j, int f)   //definition
{
    int k;
    k = j + f;
    return k;
}
 

Wednesday, June 22, 2011

Main Function in C and C++

  • In many programming languages, the main function is where a program starts execution.
  • typically has access to the command arguments given to the program when it was executed.
  • The main function is generally the first programmer-written function run when a program starts, and is invoked directly from the system-specific initialization contained in crt0 or equivalent.
  • In C and C++, the function prototype of the main function looks like one of the following:
    int main(void)
     
    int main(int argc, char *argv[])
    
     
  • Unix (though not POSIX.1) and Microsoft Windows have a third argument giving the program's environment, otherwise accessible through getenv in stdlib.h:
     
    int main(int argc, char **argv, char **envp)
     
      
    • Mac OS X and Darwin have a fourth parameter containing arbitrary OS-supplied information, such as the path to the executing binary:

    int main(int argc, char **argv, char **envp, 
    char **apple)

      The name of the variable argc stands for "argument count"; argc contains the number of arguments passed to the program. The name of the variable argv stands for "argument vector". A vector is a one-dimensional array, and argv is a one-dimensional array of strings. Each string is one of the arguments that was passed to the program. envp specifies the envrionmental variables for the program .
     

Differences between int main and void main

int main() is from the older C times in which you returned a value to the calling program usually the operating system to indicate the success (0) or failure (any other value) of the program.

void main() - well there was no real reason to have the main return a value to the OS so it probably was discarded in later versions in favor of the cleaner void main().

Another reason :  void main() is a newer standard, and some compilers require this. It cannot return any value.

int main() is the original standard, and some older compilers require this. It can return a value that can be picked up by the operating system, such as an error message or other feedback.

It comes from the days when programs were run at the console, like DOS, not a GUI like Windows. When the program ended, either correctly or with an error, it would display the return code.

I think modern operating systems do not make any use of this.


Edit:
In the original Kernighan and Ritchie (K&R) C which was the standard for many years, 'void' did not exist.



Tuesday, June 21, 2011

How to create User-defined header File

juz open turbo c and type is following code

#include <stdio.h>
#include <conio.h>
void get()
{
  printf("Hi this is from header\n");
}
void put()
{
printf("bye");
}


// once you write this file save it as myheader.h in ur turbo c editor


***************************************************************
Now you open a new file in turbo c and then start writing is code given below:

#include "myheader.h"

void main()
{
   get();
   put();
}

save this file as sample.c and see it works ///
 

Benefits of C

In today's world of computer programming, there are many high-level languages to choose from, such as Pascal, BASIC, and Java. But C stands apart from all these languages. This is due to its many desirable qualities. It is a robust language whose rich set of built-in functions and operators can be used to write any complex logic program. The C language compiler combines the capabilities of a low level language with the features of a high level language. Therefore the language is suitable for writing both system software as well as business packages & other software. You will many compilers available in the market written in C.
• Program written in c are very efficient and fast. This is due to its variety of data types and powerful operators. It is many time faster than BASIC. This helps developers in saving their valuable time.
• C is a powerful and flexible language which helps system developers to deliver various complex tasks with ease. C is used for diverse projects as operating systems, word processors, graphics, spreadsheets, and even compilers for other languages.
• C is popular among professional programmers for programming, as a result, a wide variety of C compilers and helpful accessories are available.
• C is highly portable language. This means that a C program written for one computer system (an IBM PC, for example) can be run on another system (a DEC VAX system, perhaps) with little or no modification. Portability is enhanced by the ANSI standard for C, the set of rules for C compilers.
• C’s another striking feature is its ability to extend itself. A C program is basically a collection of various function supported by C library (also known as header files). We can also add our own functions to the C library. These functions can be reused in other applications or programs by passing pieces of information to the functions, you can create useful, reusable code.
• Writing C program with user-defined functions makes program more simple and easy to understand. Breaking a problem in terms of functions makes program debugging, maintenance and testing easier.
As these features shows that C is an excellent choice for your first programming language. But what is C++? You might have heard this term C++ and the programming technique called Object-Oriented Programming (OOP). Possibly you're wondering what the differences are between C and C++ and whether you should learn C or C++.
C++ is a superset of C, means that C++ is the new improved version of C for the latest programming needs. It contains everything C does, plus new additions for OOP concept. If you will learn C++ later, you will find that almost everything which you learnt in C is applicable in C++ too. In learning C, you are not only learning one of today's most powerful and popular programming languages, but you are also preparing yourself for other similar programming languages.
Another language that has gotten lots of attention is Java for its OOP and portability. Java, just like C++, is based on C. If later you decide to learn Java, you will find that almost everything you learned about C applies here.