Advanced Minds

  • Decrease font size
  • Default font size
  • Increase font size
  • default color
  • red color
  • green color
FireBoard
Welcome, Guest
Please Login or Register.    Lost Password?
c tutorials comp.lang.c Answers (Abridged) to Frequently Asked Questions (FAQ) (1 viewing) (1) Guests
Go to bottom Post Reply Favoured: 0
TOPIC: c tutorials comp.lang.c Answers (Abridged) to Frequently Asked Questions (FAQ)
#6840
Steve Summit (Visitor)
Click here to see the profile of this user
Birthdate:
c tutorials comp.lang.c Answers (Abridged) to Frequently Asked Questions (FAQ)  
Archive-name: C-faq/abridged Comp-lang-c-archive-name: C-FAQ-list.abridged URL: http://www.eskimo.com/~scs/C-faq/top.html [Last modified July 3, 2004 by scs.] This article is Copyright 1990-2004 by Steve Summit.  Content from the book _C Programming FAQs: Frequently Asked Questions_ is made available here by permission of the author and the publisher as a service to the community.  It is intended to complement the use of the published text and is protected by international copyright laws.  The on-line content may be accessed freely for personal use but may not be republished without permission. This article contains minimal answers to the comp.lang.c frequently- asked questions list.  More detailed explanations and references can be found in the long version (see question 20.40 for availability, or ftp to rtfm.mit.edu, or send the mail message help to mail- This e-mail address is being protected from spam bots, you need JavaScript enabled to view it ).  Or, see the web version at http://www.eskimo.com/~scs/C-faq/top.html , or the book _C Programming FAQs: Frequently Asked Questions_ (Addison-Wesley, 1996, ISBN 0-201-84519-9). Section 1. Declarations and Initializations 1.1:    How should I decide which integer type to use? A:      If you might need large values (tens of thousands), use long.         Otherwise, if space is very important, use short.  Otherwise,         use int. 1.4:    What should the 64-bit type be on a machine that can support it? A:      C99 specifies long long. 1.7:    What's the best way to declare and define global variables? A:      The best arrangement is to place each definition in some         relevant .c file, with an external declaration in a header file. 1.11:   What does extern mean in a function declaration? A:      Nothing, really; the keyword extern is optional here. 1.12:   What's the auto keyword good for? A:      Nothing. 1.14:   I can't seem to define a _link_ed list node which contains a         pointer to itself. A:      Structures in C can certainly contain pointers to themselves;         the discussion and example in section 6.5 of K&R make this         clear.  Problems arise if an attempt is made to define (and use)         a typedef in the midst of such a declaration; avoid this. 1.21:   How do I declare an array of N pointers to functions returning         pointers to functions returning pointers to char? A:      char *(*(*a[N])())();         Using a chain of typedefs, or the cdecl program, makes these         declarations easier. 1.25:   My compiler is complaining about an invalid redeclaration of a         function, but I only define it once. A:      Calling an undeclared function declares it implicitly as         returning int. 1.25b:  What's the right declaration for main()? A:      See questions 11.12a through 11.15. 1.30:   What am I allowed to assume about the initial values of         variables which are not explicitly initialized? A:      Uninitialized variables with static duration start out as 0,         as if the programmer had initialized them.  Variables with         automatic duration, and dynamically-allocated memory, start         out containing garbage (with the exception of calloc). 1.31:   Why can't I initialize a local array with a string? A:      Perhaps you have a pre-ANSI compiler. 1.31b:  What's wrong with char *p = malloc(10); ? A:      Function calls are not allowed in initializers for global or         static variables. 1.32:   What is the difference between char a[] = string ; and         char *p = string ; ? A:      The first declares an initialized and modifiable array; the         second declares a pointer initialized to a not-necessarily-         modifiable constant string. 1.34:   How do I initialize a pointer to a function? A:      Use something like extern int func(); int (*fp)() = func; . Section 2. Structures, Unions, and Enumerations 2.1:    What's the difference between struct x1 { ... }; and         typedef struct { ... } x2; ? A:      The first structure is named by a tag, the second by a typedef         name. 2.2:    Why doesn't struct x { ... }; x thestruct; work? A:      C is not C++. 2.3:    Can a structure contain a pointer to itself? A:      See question 1.14. 2.4:    How can I implement opaque (abstract) data types in C? A:      One good way is to use structure pointers which point to         structure types which are not publicly defined. 2.4b:   Is there a good way of simulating OOP-_style_ inheritance in C? A:      There are some clumsy ways, but nothing like C++. 2.6:    I came across some code that declared a structure with the last         member an array of one element, and then did some tricky         allocation to make it act like the array had several elements.         Is this legal or portable? A:      An official interpretation has deemed that it is not strictly         conforming with the C Standard. 2.8:    Is there a way to compare structures automatically? A:      No. 2.10:   Can I pass constant values to functions which accept structure         arguments? A:      In C99 you can use compound literals . 2.11:   How can I read/write structures from/to data files? A:      It is relatively straightforward to use fread and fwrite. 2.12:   How can I turn off structure padding? A:      There is no standard method. 2.13:   Why does sizeof report a larger size than I expect for a         structure type? A:      The alignment of arrays of structures must be preserved. 2.14:   How can I determine the byte offset of a field within a         structure? A:      ANSI C defines the offsetof() macro in <stddef.h. 2.15:   How can I access structure fields by name at run time? A:      Build a table of names and offsets, using the offsetof() macro. 2.18:   I have a program which works correctly, but dumps core after it         finishes.  Why? A:      Check to see if main() is misdeclared, perhaps because a         preceding structure type declaration is missing its trailing         semicolon, causing main() to be declared as returning a         structure.  See also questions 10.9 and 16.4. 2.20:   Can I initialize unions? A:      In the original ANSI C, only the first-named member; in C99,         using designated initializers , yes, any member. 2.22:   What's the difference between an enumeration and a set of         preprocessor #defines? A:      There is little difference.  The C Standard states that         enumerations are compatible with integral types. 2.24:   Is there an easy way to print enumeration values symbolically? A:      No. Section 3. _expression_s 3.1:    Why doesn't the code a[i] = i++; work? A:      The variable i is both modified and separately referenced in the         same _expression_. 3.2:    Under my compiler, the code int i = 7;         printf( %dn , i++ * i++); prints 49.  Regardless of the order         of evaluation, shouldn't it print 56? A:      The operations implied by the postincrement and postdecrement         operators ++ and
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
Go to top Post Reply
Powered by FireBoardget the latest posts directly to your desktop
sprawdz autoryzacje 905 sprawdz autoryzacje 905 nieautoryzowano
resilient flooring reviews cover letter city news news anchors latin america tours