preface
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Preface next up previous contents
Next: 1. Declarations and Initializations Up: C Programming FAQs Previous: Contents

Subsections


Preface

$Id: Site_2fFAQ_2fCfaqHTML_2fnode2_2ehtml,v 1.1 2007/01/09 02:46:17 root Exp root $

Original Preface

At some point in 1979, I heard a lot of people talking about this relatively new language, C, and the book that had just come out about it. I bought a copy of K&R, otherwise known as The C Programming Language, by Brian Kernighan and Dennis Ritchie, but it sat on my shelf for a while because I didn't have an immediate need for it (besides which I was busy being a college freshman at the time.) It proved in the end to be an auspicious purchase, though, because when I finally did take it up, I never put it down: I've been programming in C ever since.

In 1983, I came across the Usenet newsgroup net.lang.c, which was (and its successor comp.lang.c still is) an excellent place to learn a lot more about C, to find out what questions everyone else is having about C, and to discover that you may not know all there is to know about C after all. It seems that C, despite its apparent simplicity, has a number of decidedly nonobvious aspects, and certain questions come up over and over again. This book is a collection of some of those questions, with answers, based on the Frequently Asked Questions (``FAQ'') list I began posting to comp.lang.c in May 1990.

I hasten to add, however, that this book is not intended as a critique or ``hatched job'' on the C language. It is all too easy to blame a language (or any tool) for the difficulties its users encounter with it or to claim that a properly designed tool ``ought'' to prevent its users from misusing it. It would therefore be easy to regard a book like this, with its long lists of misuses, as a litany of woes attempting to show that the language is hopelessly deficient. Nothing could be farther from the case.

I would never have learned enough about C to be able to write this book, and I would not be attempting to make C more pleasant for others to use by writing this book now, if I did not think that C is a great language or if I did not enjoy programming in it. I do like C, and one of the reasons I teach classes in it and spend time participating in discussion about in on the Internet is that I would like to discover which aspects of C (or of programming in general) are difficult to learn or keep people from being able to program efficiently and effectively. This book represents some of what I've learned: These questions are certainly some of the ones people have the most trouble with, and the answers have been refined over several years in an attempt to ensure that people don't have too much trouble with them.

A reader will certainly have trouble if there are any errors in these answers, and although the reviewers and I have worked hard to eliminate them, it can be as difficult to eradicate the last error from a large manuscript as it is to stamp out the last bug in a program. I will appreciate any corrections or suggestions sent to me in care of the publisher or at the e-mail address given, and I would like to offer the customary $1.00 reward to the first finder of any error. If you have access to the Internet, you can check for an errata list (and a scorecard of the finders) at the ftp and http addresses mentioned in question 20.40.

As I hope I've made clear, this book is not a critique of the C programming langauge, nor is it a critique of the book from which I first learned C or of that book's authors. I didn't just learn C from K&R; I also learned a lot of programming. As I contemplate my own contribution to the C programming literature, my only regret is that the present book does not live up to a nice observation made in the second edition of K&R, namely, that ``C is not a big language, and it is not well served by a big book.'' I hope that those who most deeply appreciate C's brevity and precision (and that of K&R) will not be too offended by the fact that this book says some things over and over and over or in three slightly different ways.

Although my name is on the cover, there are a lot of people behind this book, and it's difficult to know where to start handling out acknowledgements. In a sense, every one of comp.lang.c's readers (today estimated at 320,000) is a contributor: The FAQ list behind this book was written for comp.lang.c first, and this book retains the flavor of a good comp.lang.c discussion.

This book also retains, I hope, the philosophy of correct C programming that I began learning when I started reading net.lang.c. Therefore, I shall first acknowledge the posters who stand out in my mind as having most clearly and consistently articulated that philosophy: Doug Gwyn, Guy Harris, Karl Heuer, Henry Spencer, and Chris Torek. These gentlemen have displayed remarkable patience over the years, answering endless questions with generocity and wisdom. I was the one who stuct his neck out and started writing the Frequent questions down, but I would hate to give the impression that the answers are somehow mine. I was once the student (I believe it was Guy who answered my posting asking essentially the present volume's question 5.10), and I owe a real debt to the masters who went before me. This book is theirs as much as mine, though I retain title to any inadequacies or mistakes I've made in the presentation.

The former on-line FAQ list grew by a factor of three in the process of becoming this book, and its growth was a bit rapid and awkward at times. Mark Brader, Vinit Carpenter, Stephen Clamage, Jutta Degener, Doug Gwyn, Karl Heuer, Joseph Kent, and George Leach read proposals or complete drafts and helped to exert some control over the process; I thank them for their many careful suggestions and corrections. Their efforts grew out of a shared wish to improve the overall understanding of C in the programming community. I appreciate their dedication.

Three of those reviewers have also been long-time contributors to the on-line FAQ list. I thank Jutta Degener and Karl Heuer for their help over the years, and I especially thank Mark Brader, who has been my most persistent critic ever since I first began posting the comp.lang.c FAQ list five years ago. I don't know how he has had the stamina to make as many suggestions and corrections as he has and to overcome my continuing stubborn refusal to agree with some of them, even though (as I eventually understood) they really were improvements. You can thank Mark for the form of many of this book's explanations and blame me for mangling any of them.

Additional assorted thanks: to Susan Cyr for the cover art; to Bob Dinse and Eskimo North for providing the network access that is particularly vital to a project like this; to Bob Holland for providing the computer on which I've done most of the writing; to Pete Keleher for the Alpha text editor; to the University of Washington Mathematics Research and Engineering libraries for access to their collections; and to the University of Washington Oceanoraphy department for letting me borrow their tape drivers to access my dusty old archives of Usenet postings.

Thanks to Tanmoy Bhattacharya for the example in question 11.10, to Arjan Kenter for the code in question 13.7, to Tomohiko Sakamoto for the code in question 20.31, and to Roger Miller for the line in question 11.35.

Thanks to all these people, all over the world, who have contributed to the FAQ list in various ways by offering suggestions, corrections, constructive criticism, or other support: Jamshid Afshar, David Anderson, Tanner Andrews, Sudheer Apte, Joseph Arceneaux, Randall Atkinson, Rick Beem, Peter Bennett, Wayne Berke, Dan Bernstein, John Bickers, Gary Blaine, Yuan Bo, Dave Boutcher, Michael Bresnahan, Vincent Broman, Stan Brown, Joe Buehler, Kimberley Burchett, Gordon Burditt, Burkhard Burow, Conor P. Cahill, D'Arcy J.M. Cain, Christopher Calabrese, Ian Cargill, Paul Carter, Mike Chambers, Billy Chambless, Franklin Chen, Jonathan Chen, Raymond Chen, Richard Cheung, Ken Corbin, Ian Cottam, Russ Cox, Jonathan Coxhead, Lee Crawford, Steve Dahmer, Andrew Daviel, James Davies, John E. Davis, Ken Delong, Norm Diamond, Jeff Dunlop, Ray Dunn, Stephen M. Dunn, Michael J. Eager, Scott Ehrlich, Arno Eigenwillig, Dave Eisen, Bjorn Engsig, David Evans, Clive D.W. Feather, Dominic Feeley, Simao Ferraz, Chris Flatters, Rod Flores, Alexander Forst, Steve Fosdick, Jeff Francis, Tom Gambill, Dave Gillespie, Samuel Goldstein, Tim Goodwin, Alasdair Grant, Ron Guilmette, ... I have tried to keep track of everyone whose suggestions I have used, but I fear I've probably overlooked a few; my apologies to anyone whose name should be on this list but isn't.

Finally, I'd like to thank my editor at Addison-Wesley, Debbie Lafferty, for tapping me on the electronic shoulder one day and asking if I might be interested in writing this book. I was, and you now hold it, and I hope that it may help to make C programming as pleasant for you as it is for me.

Seattle, Washington
July, 1995

Steve Summit
summit@aw.com

ÀÌ ¹®¼­´Â Steve Summit¾¾¿¡°Ô ÀúÀÛ±Ç(copyright)ÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¹®¼­ÀÇ ³»¿ëÀº ``C Programming FAQs: Frequently Asked Questions''ÀÇ ÀúÀÚ¿Í ÃâÆÇ»çÀÇ »çȸ¿¡ ºÀ»çÇϰíÀÚ ÇÏ´Â ¶æ¿¡¼­ ¿©·¯ºÐ¿¡°Ô Á¦°øµÇ´Â °ÍÀÔ´Ï´Ù.

ÀÌ ¹®¼­´Â ¿øÃ¥ÀÎ ``C Programming FAQs: Frequently Asked Questions''ÀÇ ³»¿ëÀ» º¸ÃæÇϰíÀÚ ÇÏ´Â ¶æ¿¡¼­ ¸¸µé¾îÁø °ÍÀ̸ç, ±¹Á¦¹ý¿¡ ÀÇÇØ º¸È£µË´Ï´Ù. ÀÌ ¹®¼­´Â °³ÀÎÀûÀÎ ¸ñÀûÀ¸·Î´Â ÀÌ °÷¿¡¼­ ÀÚÀ¯·Ó°Ô ¿­¶÷ÇÒ ¼ö ÀÖÁö¸¸ Çã°¡¾øÀÌ ÃâÆÇµÉ ¼ö´Â ¾ø½À´Ï´Ù.

ƯÁ¤ ÁÖÁ¦µé¿¡ ´ëÇÑ Áú¹®Àº ÀÌ ´º½º ±×·ì¿¡ ÀÚÁÖ ¿Ã¶ó¿É´Ï´Ù. À̵éÀº ¸Å¿ì ÁÁÀº Áú¹®À̸ç, ¾î¶² °ÍµéÀº Áï°¢ ´äº¯ÇÏ±â ¸Å¿ì ¾î·Á¿î ³­ÇØÇÑ °ÍµéÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ Áú¹®µéÀÌ ÀÚÁÖ ¿Ã¶ó¿Â´Ù¸é ³×Æ®¿öÅ©¿¡ °úºÎÇϰ¡ °É¸± ¼öµµ ÀÖ°í, µ¶ÀÚµéÀº ¸Å¹ø °°Àº ´äº¯À» ÀдÀ¶ó ¹ø°Å·Î¿ï °ÍÀ̸ç, À߸øµÈ ´äº¯¿¡ ´ëÇÑ Áö°Ü¿î Á¤Á¤ ÀÛ¾÷ÀÌ ¹ß»ýÇÒÁöµµ ¸ð¸¨´Ï´Ù.

ÀÌ ¹®¼­´Â ÀÌ·¯ÇÑ ÀϹÝÀûÀÎ ¹®Á¦µé¿¡ ´ëÇÑ Á¤È®ÇÏ°í °£°áÇÑ ´äº¯À» Á¦½ÃÇϰíÀÚ ¸Å´Þ °Ô½ÃµÇ¸ç, ³Ý Åä·Ð(net discussion)ÀÌ ÀÌ·¯ÇÑ ±âº»ÀûÀÎ ¹®Á¦¿¡ ´ëÇÑ Áö¼ÓÀûÀÎ ¹Ýº¹¾øÀÌ Á» ´õ »ý»êÀûÀÎ Áú¹®¿¡ Àü³äÇϴµ¥¿¡ ±× ¸ñÀûÀÌ ÀÖ½À´Ï´Ù.

¾Æ¹«¸® ´º½º ±×·ìÀÇ ±ÛÀÌ ÁÁ´Ù°í ÇÏ´õ¶óµµ ¾ð¾î Âü°í¼­(language reference manual)³ª Æ©Å丮¾ó(tutorial)À» ÁÖÀÇ ±í°Ô Àд °Í¸¸ ¸øÇÕ´Ï´Ù. C ¾ð¾î¿¡ °ü½ÉÀÌ ÀÖ°í, ÀÌ ´º½º ±×·ì¿¡ Âü¿©ÇÏ±æ ¿øÇÑ´Ù¸é ´ç¿¬È÷ ÀÌ·¯ÇÑ Ã¥µéÀ» ¹Ýº¹ÇÏ¿© ÀÐ°í ¿¬±¸ÇÏ´Â °Í¿¡µµ °ü½ÉÀ» °¡Á®¾ß ÇÒ °ÍÀÔ´Ï´Ù. ¾î¶² C Ã¥µé°ú ÄÄÆÄÀÏ·¯ ¸Å´º¾óµéÀº ºÒÇàÇϰԵµ ¿ÏÀüÇÏÁö ¾Ê½À´Ï´Ù. A few even perpetuate some of the myths which this article attempts to refute. À¯¸íÇÑ ¿©·¯ Ã¥µé¿¡ ´ëÇØ¼­´Â ÀÌ ±ÛÀÇ `Âü°í¹®Çå¶õ'¿¡ ³ª¿­µÇ¾î ÀÖ½À´Ï´Ù. Áú¹® 18.9¿Í 18.10À» Âü°íÇϽñ⠹ٶø´Ï´Ù. ¶ÇÇÑ ¸¹Àº Áú¹®µé°ú ´äº¯µéÀÌ ÀÌ·¯ÇÑ Ã¥µé°ú ¿¬°áµÇ¾î ÀÖ½À´Ï´Ù. °ü½ÉÀÖ´Â µ¶ÀÚµéÀº Âü°íÇϽñ⠹ٶø´Ï´Ù.

¿©·¯ºÐÀÌ ÀÌ ¹®¼­¿¡ ³ª¿Í ÀÖÁö ¾Ê´Â, C ¾ð¾î¿¡ ´ëÇÑ Áú¹®ÀÌ ÀÖ´Ù¸é ³Ý ±×·ì¿¡ °Ô½ÃÇϱâ Àü¿¡ ÀÌ·¯ÇÑ Âü°í ¼­Àûµé¿¡¼­ ¸ÕÀú ´äÀ» ã¾Æº¸°Å³ª, ÁÖº¯ÀÇ µ¿·áµé¿¡°Ô µµ¿òÀ» Ã»ÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³Ý ±×·ì¿¡´Â ´äº¯Çϱ⸦ Áñ±â´Â ¸¹Àº »ç¶÷µéÀÌ ÀÖÁö¸¸, Áõ°¡µÇ°í ÀÖ´Â Áú¹® °¹¼ö¿Í °°Àº Áú¹®¿¡ ´ëÇÑ ¹Ýº¹ÀûÀÎ ´äº¯ÀÇ ºÐ·®À» »ý°¢ÇÏ¸é ±× »ç¶÷µé¿¡°Ô ³Ê¹«³ªµµ °¡È¤ÇÑ ÀÏÀÔ´Ï´Ù. ¶ÇÇÑ ÀÌ ¹®¼­¿¡ ´ëÇÑ Áú¹®À̳ª Á¦¾È »çÇ×ÀÌ ÀÖ´Ù¸é ÀüÀÚ ¿ìÆíÀ» »ç¿ëÇÏ¿© ¾Ë·ÁÁֽñ⠹ٶø´Ï´Ù. ÀÌ ¹®¼­´Â ³Ý Æ®·¡ÇÈÀ» °¨¼Ò½Ã۱â À§ÇÑ °ÍÀÌÁö, Áõ°¡½Ã۱â À§ÇÑ °ÍÀÌ ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù.

ÀÌ ¹®¼­´Â ÀÚÁÖ ¹°¾îº¸´Â Áú¹®µé¸¸ ³ª¿­ÇÑ °ÍÀÌ ¾Æ´Ï¶ó °¢ Áú¹®¿¡ ´ëÇÑ ´äº¯µéµµ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÌ ÀÌµé ´äº¯¿¡ ´ëÇØ ÀÌ¹Ì ¾Ë°í ÀÖ´õ¶óµµ Çѹø Á× ÈȾ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. ±×¸®°í ÀÌ·¯ÇÑ Áú¹®ÀÌ ´º½º ±×·ì¿¡ °Ô½ÃµÇ´õ¶óµµ ´äº¯Çϱâ À§ÇØ ½Ã°£À» ³¶ºñÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. (±×·¯³ª, ÀÌ ¹®¼­´Â ¸Å¿ì ¹æ´ëÇϰí, ¹«°Å¿î ÁÖÁ¦¸¦ ´Ù·ç±â ¶§¹®¿¡ ´º½º±×·ìÀÇ ¸ðµç »ç¶÷µéÀÌ ÀÌ ¹®¼­¸¦ ÀÚ¼¼È÷ Àаí Áú¹®ÇÒ °ÍÀ̶ó°í ±â´ëÇÏÁö´Â ¸¶½Ã±â ¹Ù¶ø´Ï´Ù. ±×¸®°í ÀÌ·¯ÇÑ »ç¶÷µé¿¡°Ô ¿å¼³À» ÇѴٰųª ÇÏ´Â ÇൿÀº ÀÚÁ¦ÇØ Áֽñ⠹ٶø´Ï´Ù)

ÀÌ ¹®¼­´Â 1999³â 2¿ù 7ÀÏ¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤µÇ¾ú½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ÀμâµÈ Çü½ÄÀÇ ¹®¼­¸¦ º¸°Å³ª, CD-ROM ¶Ç´Â ¾ÆÄ«ÀÌºê »çÀÌÆ®(archive site)¿¡¼­ ¾òÀº ¹®¼­¸¦ º¸½Å´Ù¸é ¸ÕÀú ÃÖ½ÅÀÇ ¹®¼­¸¦ ´ÙÀ½ »çÀÌÆ®¿¡¼­ ¾òÀ¸½Ã±â ¹Ù¶ø´Ï´Ù.

  http://www.eskimo.com/~scs/C-faq/top.html
  http://www.faqs.org/faqs/

¶Ç´Â Áú¹® 20.40¿¡ ¾ð±ÞµÈ FTP »çÀÌÆ®¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù. ±×¸®°í ÀÌ ¸ñ·ÏÀº ÀÚÁÖ ¼öÁ¤µÇ±â ¶§¹®¿¡ Áú¹® ¹øÈ£°¡ ¿À·¡µÈ ¸ñ·Ï°ú »õ ¸ñ·ÏÀÌ ¼­·Î ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ ¹øÈ£·Î ¸ñ·ÏÀ» ãÀ» ¶§ ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù.

ÀÌ ¹®¼­´Â ÀÚÀ¯·ÎÀÌ ¹èÆ÷µÇ´Â °ÍÀ̹ǷΠÀÌ ¹®¼­¸¦ ¾ò±â À§ÇØ ¾î¶°ÇÑ Ãß°¡ ºñ¿ëÀ» ÁöºÒÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

ÀÌ ¹®¼­ÀÇ ´Ù¸¥ Çü½Äµµ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌÀü ¹®¼­¿Í »õ ¹®¼­ÀÇ Â÷ÀÌÁ¡¸¸À» ¸í½ÃÇÑ ÂªÀº Çü½Äµµ ÁغñµÇ¾î ÀÖÀ¸¸ç, ÇÏÀÌÆÛÅØ½ºÆ®(hypertext) ¹öÀüµµ À§¿¡ ¾ð±ÞÇÑ URL¿¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Î, ÀμâµÈ Çü½ÄÀ» ¼±È£ÇÏ´Â »ç¶÷µéÀ» À§ÇØ Ã¥À¸·Îµµ ÃâÆÇµÇ¾î ÀÖ½À´Ï´Ù. (Ã¥ÀÇ °æ¿ì Á» ´õ ÀÚ¼¼ÇÑ ´äº¯°ú ´õ ¸¹Àº Áú¹®°ú ´äº¯ÀÌ ¼ö·ÏµÇ¾î ÀÖ½À´Ï´Ù). ÀÌ Ã¥Àº Addison-Wesley»ç¿¡¼­ ÃâÆÇµÇ¾úÀ¸¸ç ISBNÀº 0-201-84519-9ÀÔ´Ï´Ù.

ÀÌ ¹®¼­´Â °è¼Ó ¼öÁ¤µÇ°í ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÇ Âü¿©¸¦ ȯ¿µÇÕ´Ï´Ù. ¿©·¯ºÐÀÇ Á¦¾È »çÇ×À» scs@eskimo.comÀ¸·Î º¸³»Áֽñ⠹ٶø´Ï´Ù.

´äº¯µÈ Áú¹®µéÀº ´ÙÀ½ ÁÖÁ¦º°·Î ³ª´µ¾îÁ® ÀÖ½À´Ï´Ù.

  1. ¼±¾ð°ú ÃʱâÈ­
  2. ±¸Á¶Ã¼, Unions, ¿­°ÅÇü(enumerations)
  3. ½Ä(Expressions)
  4. Æ÷ÀÎÅÍ
  5. ³Î(null) Æ÷ÀÎÅÍ
  6. ¹è¿­°ú Æ÷ÀÎÅÍ
  7. ¸Þ¸ð¸® ÇÒ´ç(allocation)
  8. ¹®ÀÚ¿Í ¹®ÀÚ¿­
  9. Boolean ½Ä°ú º¯¼ö
  10. C Àü󸮱â(preprocessor)
  11. ANSI/ISO C Ç¥ÁØ(standard)
  12. Ç¥ÁØ ÀÔÃâ·Â(stdio)
  13. ¶óÀ̺귯¸® ÇÔ¼ö
  14. ½Ç¼ö (floating point)
  15. °¡º¯ ÀÎÀÚ ¸®½ºÆ®(Variable-Length Argument Lists)
  16. ÀÌ»óÇÑ ¹®Á¦µé
  17. ½ºÅ¸ÀÏ
  18. Åø°ú ±âŸ ÀÚ·á
  19. ½Ã½ºÅÛ ÀÇÁ¸¼º
  20. ±âŸ(miscellaneous)
  21. Âü°í¹®Çå
  22. Acknowledgements

°¢ ´Ü¿øÀÇ Áú¹® ¹øÈ£´Â ÀÌ ¹®¼­¿¡¼­ ¿¬¼ÓÀûÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé ÀÌ Áú¹®µéÀº Ã¥¿¡¼­ »ÌÀº °ÍÀ̱⠶§¹®¿¡, Ã¥°ú °°Àº ¹øÈ£¸¦ À¯ÁöÇϰíÀÚ Çϱ⠶§¹®ÀÔ´Ï´Ù.)

About Translation

ÀÌ ¹®¼­´Â Steve Summit¾¾ÀÇ `C Programming FAQs'¸¦ Çѱ¹¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. ÀÌ Çѱ¹¾îÆÇ ¹®¼­ÀÇ ³»¿ëÀº ¹ø¿ªÀÚ¿¡°Ô ±× ÀúÀÛ±ÇÀÌ ÀÖÀ¸¸ç, °³ÀÎÀûÀÎ ¸ñÀûÀ¸·Î´Â ÀÚÀ¯·ÎÀÌ »ç¿ëµÉ ¼ö ÀÖÁö¸¸ Çã°¡¾øÀÌ ÃâÆÇµÇ°Å³ª È«º¸¿ë, »ó¾÷¿ë µîÀÇ ¸ñÀûÀ¸·Î´Â »ç¿ëµÉ ¼ö ¾ø½À´Ï´Ù. ¶ÇÇÑ (°³ÀÎÀûÀÎ ¸ñÀûÀ» Æ÷ÇÔ) ¾î¶°ÇÑ ÀÌÀ¯¿¡¼­¶óµµ ÀÌ ¹®¼­ÀÇ ÀϺθ¸ÀÌ »ç¿ëµÇ´Â °ÍÀ» ±ÝÇÕ´Ï´Ù.

ÀÌ ¹®¼­¿¡ ´ëÇÑ Á¶¾ð, ºñÆÇ, Á¤Á¤Àº ¾ðÁ¦µçÁö ȯ¿µÇϸç ÀÌ·¯ÇÑ »çÇ×Àº ¾Æ·¡ e-mail ÁÖ¼Ò·Î º¸³»½Ã±â ¹Ù¶ø´Ï´Ù:

  cinsky at gmail.com

À§ÀÇ ÁÖ¼Ò¿¡ º¸³¾ ¼ö ¾ø´Ù¸é ´ÙÀ½ ÁÖ¼Ò1·Î º¸³»½Ã±â ¹Ù¶ø´Ï´Ù:

  tanarrian at yahoo dot co dot kr

¹°·Ð À§¿¡¼­ Á¦°øÇÑ ¸ðµç e-mail ÁÖ¼Ò¿¡¼­ `at'Àº `@'·Î, `dot'Àº `.'·Î ¹Ù²Ù¾î¾ß ÇÕ´Ï´Ù. (½ºÆÔ ¸ÞÀÏÀ» ¹æÁöÇϱâ À§ÇÑ Á¶Ä¡À̹ǷΠ¾çÇØ¹Ù¶ø´Ï´Ù.) ¹ø¿ªÀÚÀÇ È¨ ÆäÀÌÁö¸¦ ¹æ¹®Çϸé Ç×»ó ÃÖ½ÅÀÇ ¿¬¶ôó¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù:

  http://www.cinsk.org/cfaqs/

Translation

ÀÌ ¹®¼­´Â Steve¾¾ÀÇ ¿ø¹®ÀÇ ´À³¦À» ±×´ë·Î Àü´ÞÇÏ´Â °ÍÀ» ¸ñÇ¥·Î Çϰí ÀÖ½À´Ï´Ù. µû¶ó¼­ ¹ø¿ªÇϱ⠰ï¶õÇϰųª, ¿ì¸®¸»·Î ¸¶¶¥ÇÑ ´Ü¾î°¡ ¾ø´Â °ÍÀº ¿µ¾î¸¦ ±×´ë·Î ¾²°í ÀÖ½À´Ï´Ù.

ÀÌ ±Û¿¡¼­ Unix, UNIX µîÀº ¸ðµÎ °°Àº ¶æÀÌ¸ç Æ¯Á¤ UNIX ½Ã½ºÅÛÀÌ ¾Æ´Ñ ÀϹÝÀûÀÎ(general) UNIX ½Ã½ºÅÛÀ» ÀǹÌÇÏ´Â ´Ü¾îÀÔ´Ï´Ù.

¿ªÀÚ´Â ÀúÀÚ¿¡°Ô¼­ Áú¹® ¹øÈ£¸¦ ¹Ù²ÙÁö ¾ÊÀº ÇÑ, »õ·Î¿î Áú¹®/´äº¯À» Ãß°¡ÇÒ ¼ö ÀÖ´Ù´Â Çã¶ôÀ» ¾ò¾ú½À´Ï´Ù. Áú¹® ¹øÈ£°¡ ¼ýÀÚ°¡ ¾Æ´Ñ, ¾ËÆÄºªÀ¸·Î µÈ Áú¹®Àº ¿ªÀÚ°¡ Ãß°¡ÇÑ Áú¹®ÀÔ´Ï´Ù.

Current Status - Very Important

¿À¸®Áö³Î Steve¾¾ÀÇ ¿ø¹®Àº ÇöÀç, [C99] Ç¥ÁØÀÌ ¿Ïº®ÇÏ°Ô Á¦Á¤µÇ±â ÀüÀÇ »óÅ¿¡ ¾²¿©Á³½À´Ï´Ù. ¿ªÀÚ°¡ Ãß°¡ÇÑ [C99] Ç¥ÁØ¿¡ °üÇÑ °ÍÀº ÇöÀç reference·Î [C99]¸¦ »ç¿ëÇÕ´Ï´Ù. Steve¾¾°¡ ¾´ ¿ø¹®Àº ÇöÀç [C9X]¸¦ ¾¹´Ï´Ù. [C9X]´Â ÀÌ ±ÛÀÌ °³Á¤µÇ¸é¼­ [C99]·Î ¹Ù²ð ¿¹Á¤ÀÔ´Ï´Ù.

¿À¸®Áö³Î Steve¾¾ÀÇ ÃâÆÇµÈ Ã¥Àº [ANSI]¿¡ ´ëÇÑ reference°¡ ¸¹ÀÌ ³ª¿Í ÀÖ½À´Ï´Ù¸¸, ¿Â¶óÀÎ ¹öÀüÀº [ANSI] reference°¡ Á¦°øµÇÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇϸé [ANSI]´Â ´õ ÀÌ»ó °ø½Ä C Ç¥ÁØÀÌ ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù. (Áú¹® [*]11.1À» Âü°íÇϱ⠹ٶø´Ï´Ù.) ±×·¯³ª ÆíÀÇ»ó ¸ðµç Áú¹®¿¡ Ã¥¿¡¼­ ¾òÀº [ANSI] referenceµµ Ãß°¡ÇÕ´Ï´Ù. ÃֽŠÁ¤º¸¸¦ ¾òÀ¸½Ç ºÐµéÀº ´õ ÀÌ»ó [ANSI]³ª [C89], [C9X], [ANSI Rationale], ±×¸®°í [H&S]¸¦ Âü°íÇÏ¸é ¾ÈµË´Ï´Ù. (À̵éÀº ¸ðµÎ ±¸½ÄÀÇ C Ç¥ÁØÀ» µû¸£°í Àֱ⠶§¹®¿¡, ÃֽŠC Ç¥ÁØÀÎ [C99]¿Í ´Ù¸¥ ºÎºÐÀÌ ÀÖ½À´Ï´Ù.)

ÃֽŠC99¿¡¼­ Á¦°øÇÏ´Â ¿©·¯°¡Áö Ãß°¡ ±â´É¿¡ ´ëÇØ¼­´Â ¾ÆÁ÷ ÀÌ ±ÛÀÌ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ¿©±â¿¡´Â variable-length array, designator (structure) µîÀÌ Æ÷ÇÔµÇ¸ç °ð Ãß°¡ÇÒ ¿¹Á¤ÀÔ´Ï´Ù. ¶ÇÇÑ Á» ´õ ÀÚ¼¼ÇÑ, ÃÖ½ÅÀÇ Á¤º¸¸¦ ¾ò°í ½Í´Ù¸é, ²À ¾Æ·¡ site¸¦ ¹æ¹®Çؼ­ ÃÖ½ÅÀÇ Á¤º¸¸¦ ¾ò±â ¹Ù¶ø´Ï´Ù.

  http://www.cinsk.org/cfaqs/

Acknowledgements

ÀÌ ±ÛÀ» ¸¸µå´Â µ¥ µµ¿òÀ» ÁֽЏðµç ºÐµé²² °¨»ç¸¦ µå¸³´Ï´Ù. Steve Summit¾¾¿Í ¸¶Âù°¡Áö·Î, Àúµµ UsenetÀÇ ¸¹Àº ºÐµé¿¡°Ô µµ¿òÀ» ¹Þ¾Ò½À´Ï´Ù. ƯÈ÷ comp.lang.c, comp.unix.programmer ´º½º ±×·ìÀÇ ¸ðµç ºÐµé²² °¨»ç¸¦ µå¸³´Ï´Ù. ¸¶Âù°¡Áö·Î, ¿©·¯°¡Áö Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ¾ú´ø, KLDP BBS2ÀÇ ¸ðµç ºÐµé²²µµ °¨»çµå¸³´Ï´Ù.

¹®¼­ ÀÛ¼º¿¡ ¾²ÀÎ LATEX¿¡ ´ëÇÑ µµ¿òÀ» ÁֽŠKTUG3ÀÇ ¸ðµç ºÐ²²µµ °¨»çµå¸³´Ï´Ù.

lovewar´Ô°ú, Hyun-Kyung Lee´ÔÀÌ °¢°¢ ¿©·¯ ¿ÀŸ¸¦ ¼öÁ¤ÇØ Áּ̽À´Ï´Ù.

Yong-Uk Kim´Ô, ±è¼ºÈÆ(niky)´Ô, À±Èñ¼ö(cppig1995)´ÔÀÌ °¢°¢ º»¹®¿¡¼­ ÇÑ °¡Áö ¹®Á¦Á¡À» ÁöÀûÇØ Áּ̽À´Ï´Ù.

ÀÓ¼ºÈÆ(wariua)´ÔÀÌ ¾à 80¿©°³ÀÇ ¿ÀŸ¸¦ ÁöÀûÇØ Áּ̽À´Ï´Ù.

¾Æ¿ï·¯ Ȥ½Ã¶óµµ Á¦°¡ ÀØ°í ºüÆ®¸° ºÐÀÌ ÀÖ´Ù¸é ²À ¿¬¶ô Áֽñ⠹ٶø´Ï´Ù.


next up previous contents
Next: 1. Declarations and Initializations Up: C Programming FAQs Previous: Contents

All rights reserved. Copyright © 2004-2006 Seong-Kook Shin (½Å¼º±¹)
Return to my homepage


2006-08-30
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.