Oct
30

Implementation limitation of c programming language

One day i thought ,

“What is the maximum number of arguments we can pass to a function in C ?”

i have searched some stuff and found following things.

As per International Standard of c programming language, an implementation translates C source files and executes C programs in two dataprocessing-system environments, which will be called the translation environment and
the execution environment.

As per logicaly we can pass infinite number of aguments to the function but the Limitation of such data processing-system environment makes following limitation to the implementation of c programming language .

From : C language standard n1256

5.2.4.1 Translation limits


The implementation shall be able to translate and execute at least one program that
contains at least one instance of every one of the following limits:
— 127 nesting levels of blocks
— 63 nesting levels of conditional inclusion
— 12 pointer, array, and function declarators (in any combinations) modifying an
arithmetic, structure, union, or incomplete type in a declaration
— 63 nesting levels of parenthesized declarators within a full declarator
— 63 nesting levels of parenthesized expressions within a full expression
— 63 significant initial characters in an internal identifier or a macro name (each
universal character name or extended source character is considered a single
character)
— 31 significant initial characters in an external identifier (each universal character name
specifying a short identifier of 0000FFFF or less is considered 6 characters, eachuniversal character name specifying a short identifier of 00010000 or more is
considered 10 characters, and each extended source character is considered the same
number of characters as the corresponding universal character name, if any)
— 4095 external identifiers in one translation unit
— 511 identifiers with block scope declared in one block
— 4095 macro identifiers simultaneously defined in one preprocessing translation unit
127 parameters in one function definition
127 arguments in one function call
— 127 parameters in one macro definition
— 127 arguments in one macro invocation
— 4095 characters in a logical source line
— 4095 characters in a character string literal or wide string literal (after concatenation)
— 65535 bytes in an object (in a hosted environment only)
— 15 nesting levels for #included files
— 1023 case labels for a switch statement (excluding those for any nested switch statements)
— 1023 members in a single structure or union
— 1023 enumeration constants in a single enumeration
— 63 levels of nested structure or union definitions in a single struct-declaration-list
You can find more about other limits in c programming language at C language standard n1256

 

JIGAR PATEL

hey I am an Artist who love to write code…! Well I am an EC graduate From Ganpat University and now i am working as Embedded software engineer in one private firm.. find me at here JigAr Patel

More PostsWebsiteTwitterFacebook

You may like to read this also....

3 Comments to “Implementation limitation of c programming language”

  • diablo 3 classes October 30, 2011 at 7:11 pm

    I really like it when folks arrive collectively and share opinions, excellent weblog, maintain it up.

  • c programme language June 13, 2012 at 1:03 am

    [...] Implementation limitation of c programming… Here professional software engineer share their experience on various programming language and technology like c programming ,c++ programming,PHP programming,MatLab programming … [...]

  • tammylleanne May 20, 2013 at 3:05 am

Post comment

*

CommentLuv badge
Follow us on Twitter! Follow us on Twitter!

Search in this website

our sponsors

latest comments

Find us on Facebook

Top Authors

35 posts
saurabh
22 posts
10 posts

Find us on stackoverflow

Polls

Tell us who you are

View Results

Loading ... Loading ...

My Bookmarks

Sponsers Link