亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? cintro.doc

?? 編譯c語(yǔ)言的編譯器源碼 含有目標(biāo)程序
?? DOC
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
   
            Later on, I will show you how you can use  a  special  operator
         called INDIRECTION to access data items at the  address  contained
         in the pointer.
   
      3.4 A complete 'C' program
   
            With all of the preceeding  information  under  you  belt,  you
         should be able to understand most  of  this  simple  but  complete
         program:
   
           #include stdio.h
   
           /* Main program */
           main()
           {
               int a, b, c;
   
               a = 1;
               b = 2;
               c = add(a, b);
               printf("The result of (1+2)=%d\n", c);
           }
   
           /* Our old familiar "add" function */
           int add(num1, num2)
               int num1, num2;
           {
               return num1+num2;
           }
   
            Did you fully understand it??? ... I thought not!!!
   
            There are a few new things presented in this program,  which  I
         will now explain.
   
            First of all, you should know that the function name "main"  is
         a special name which will be called at the  very  beginning,  when
         the program is first run. It provides a starting  point  for  your
         programmed functions. All 'C' programs have a "main" function.
   Intro to MICRO-C                                                 Page: 17


            You may also be wondering about those "#include"  and  "printf"
         statements. This all comes back to the concept of PORTABILITY, and
         has to do with the programs ability to perform  INPUT  and  OUTPUT
         (I/O). Methods of performing  I/O  may  differ  greatly  from  one
         operating system to another, and hence make it difficult to  write
         "portable" programs. If you don't know  what  portability  is,  go
         back and read the "Background Information" section.
   
            In order to insure that 'C' compilers could be  easily  adapted
         to nearly any operating system,  the  designers  of  the  language
         decided not to  include  ANY  I/O  capabilities  in  the  compiler
         itself. By not implementing it, they didn't have  to  worry  about
         it. All such activity is performed by a set of  functions  in  the
         'C' STANDARD LIBRARY, which is provided for each operating system.
   
            These library functions are used in nearly all programs,  since
         a program which can't read or  write  any  data  doesn't  do  much
         useful work.
   
            Many of the library functions must be  declared  as  a  certain
         type, which may be specific  to  the  compiler  implementation  or
         operating system. (For example  the  "printf"  functions  must  be
         declared as "register" in MICRO-C). The file "stdio.h" is provided
         with  all  "standard  libraries",   and   contains   any   special
         declarations required by the library functions.
   
            The "#include"  statement  causes  the  compiler  to  read  the
         "stdio.h"  file,  and  to  process  the   declaration   statements
         contained within it.
   
            The "printf" statement is actually a call to a STANDARD LIBRARY
         FUNCTION. It is available in almost all 'C'  implementations,  and
         in the above example, displays the prompt "The result of  (1+2)=",
         followed by the decimal value of the passed argument 'c'. For more
         information about "printf" and other library functions,  refer  to
         the MICRO-C Technical manual.
   
            At his point you may wish to enter  the  demonstration  program
         into a file called "DEMO1.C", and  compile  it  with  the  MICRO-C
         compiler. Remember that 'C' IS CASE SENSITIVE, so be sure to enter
         the program EXACTLY as it is shown. Also, make sure that  you  are
         positioned in the MICRO-C directory before you  create  the  file.
         After entering and saving the file with your favorite text editor,
         compile the program using the command:
   
                                   CC DEMO1
   
            You can  run  the  resultant  "DEMO1.COM"  program,  by  simply
         typeing "DEMO1", at the DOS command prompt.
   Intro to MICRO-C                                                 Page: 18


      3.5 'C' memory organization
   
            Now that you have seen a complete 'C'  program,  and  know  the
         basic concepts of functions and variables, you may  want  to  know
         how MICRO-C organizes the computer memory  when  these  constructs
         are used. Knowing this  may  help  you  understand  functions  and
         variables more precicely.
   
            The information in this section is  not  really  necessary  for
         casual use of the language, if you feel  that  such  detail  would
         only confuse you, feel free to skip it until later.
   
            The MICRO-C compiler builds your program to occupy a  block  of
         memory. In the case of small 8 bit computers, this block of memory
         will usually be the entire free ram in the machine. In the case of
         larger machines, it will usually be 64K (65536 bytes), but may  be
         larger or smaller depending on the implementation.
   
            The exact size of the memory block  is  unimportant,  since  it
         affects only the maximum size of a MICRO-C program. The methods of
         memory allocation remain the same.
   
         3.5.1 Static memory
   
               MICRO-C places all of the executable code from the  compiled
            functions at the very  beginning  of  the  memory  block.  This
            includes all  CPU  instructions  which  are  generated  by  the
            compiler. MICRO-C places all initialized  global  variables  in
            this area as well, and also something called the LITERAL POOL.
   
               The "literal pool" consists of all string data which is used
            in statements or initializations in the program. An example  of
            this is the string used in the preceeding demonstration program
            ("Result of (1+2)=%d\n"), which is  a  series  of  data  bytes,
            which are passed to the "printf" function.
   
               This collection of CPU  instructions,  Initialized  variable
            data, and literal pool data is the complete program image which
            must be loaded into memory every time the program is executed.
   
               The next section of memory allocated by  MICRO-C  holds  the
            global variables which have not been  initialized.  Since  they
            have no initial values, they do not have  to  be  loaded  every
            time the program runs. This also means that until  the  program
            stores a value in a particular  memory  location  its  contents
            will be some random value which happened to be at that location
            in memory before the program was loaded.
   
               All of this memory is called "STATIC" memory, because it  is
            reserved for code and data at COMPILE time. Once the program is
            compiled, the above mentioned items are fixed  in  memory,  and
            cannot be moved or changed in size.
   Intro to MICRO-C                                                 Page: 19


         3.5.2 Dynamic memory
   
               When your program begins execution, one of the first  things
            that happems, is that a STACK is set up at the very top of  the
            memory block. This  stack  is  always  referenced  by  a  STACK
            POINTER register which always points to the lowest  address  of
            memory used on the stack. All memory in  the  block  above  the
            stack pointer is deemed to be in use. This is usually  a  built
            in feature of the CPU.
   
               At the beginning of every function,  the  code  produced  by
            MICRO-C contains instructions to reduce the value of the  stack
            pointer by the number of bytes of memory required by the  local
            variables in that function.  When  the  function  "returns"  or
            terminates, the stack pointer is increased by the same amount.
   
               This allows the function to use the memory immediatly  above
            the new stack pointer for its local variables without fear that
            another function will also try to use it. When another function
            is called, it will reserve its memory BELOW the memory  already
            in use by the calling  function,  and  will  return  the  stack
            pointer when it is finished. Thus, all local variables  may  be
            accessed as constant offsets from the stack pointer set  up  at
            the beginning of the function.
   
               ARGUMENTS to a function are passed by  reserving  memory  on
            the stack, and setting it to the argument values, just PRIOR to
            calling the function. When the  called  function  returns,  the
            stack reserved for its arguments is  removed  by  the  function
            performing the call. In this way, the arguments are  just  more
            local variables, and may also be accessed as  constant  offsets
            from the stack pointer.
   
         3.5.3 Heap memory
   
               Some programs need temporary memory which will not disappear
            when the function terminates, or they may not  know  the  exact
            amount of memory they need for a certain operations until  some
            calculations have been performed.
   
               To resolve these problems,  'C'  provides  another  type  of
            dynamic memory which is called "HEAP" memory. To  make  use  of
            this memory, the program uses the "malloc" function  (from  the
            standard library)  which  allocates  a  block  of  memory,  and
            returns a pointer value to its address. The  program  may  then
            access and manipulate this memory through the pointer.
   
               When the program is finished with the memory,  it  may  then
            use the "free" library function to  release  it,  and  make  it
            available for use by other calls to "malloc".
   
               A program may continue allocating  memory  via  "malloc"  as
            long as there is available free memory to allocate. The library
            functions will  keep  track  of  which  blocks  of  memory  are
            allocated, and which blocks are available for allocation.
   Intro to MICRO-C                                                 Page: 20


               A typical memory layout for a 'C' program in the  middle  of
            execution might look something like this:
   
               +----------------------------------------+
               |            CPU Instructions            |
               |         which make up program          |
               |                "code"                  |
               +----------------------------------------+
               |      Initialized GLOBAL variables      |
               +----------------------------------------+
               |           LITERAL POOL data            |
               +----------------------------------------+
               |    Un-initialized GLOBAL variables     |
               +----------------------------------------+
               |      Memory allocated to the heap      |
               +----------------------------------------+
               |          (Heap grows upward)           |
               |                   |                    |
               |  Free memory, available for growth of  |
               |           the heap and stack.          |
               |                   |                    |
               |         (Stack grows downward)         |
               +----------------------------------------+
               |  Local variables of innermost function |
               +----------------------------------------+
               |  Return address of innermost function  |
               +----------------------------------------+
               |     Arguments of innermost function    |
               +----------------------------------------+
               |  Local variables of middle function    |
               +----------------------------------------+
               |   Return address of middle function    |
               +----------------------------------------+
               |      Arguments of middle function      |
               +----------------------------------------+
               |    Local variables of main function    |
               +----------------------------------------+
               |    Return address of main function     |
               +----------------------------------------+
   
               For those  not  familiar  with  computer  architecture,  the
            RETURN ADDRESS is placed on the stack by  a  CALL  INSTRUCTION,
            and  is  the  memory   address   immediately   following   that
            instruction. When a RETURN INSTRUCTION is later  executed,  the
            CPU removes the return address from the stack, and places it in
            the PROGRAM COUNTER, thus causing program execution  to  resume
            with the instruction immediately following  the  original  call
            instruction.
   Intro to MICRO-C                                                 Page: 21


   4. EXPRESSIONS
   
         An expression in 'C' consists of one or more values, and OPERATORS
      which cause those values to be modified in  a  calculation.  Anywhere

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级免费观看| 国产精品视频一二三区| 不卡大黄网站免费看| 五月婷婷久久丁香| 国产欧美日韩精品a在线观看| 欧美日韩欧美一区二区| 成人午夜激情视频| 久久av中文字幕片| 三级精品在线观看| 樱花影视一区二区| 国产精品视频观看| 久久色视频免费观看| 欧美一级二级三级蜜桃| 欧美性感一类影片在线播放| 成人激情视频网站| 国产一区二区h| 免费视频最近日韩| 亚洲国产欧美在线| 亚洲自拍偷拍av| 国产精品超碰97尤物18| 国产欧美日产一区| 久久嫩草精品久久久精品一| 欧美刺激脚交jootjob| 欧美日本国产一区| 欧美色倩网站大全免费| 91官网在线观看| av一区二区三区| 从欧美一区二区三区| 国产成人精品亚洲777人妖| 国产一区二区三区在线观看免费视频| 午夜日韩在线观看| 天堂午夜影视日韩欧美一区二区| 亚洲卡通动漫在线| 亚洲免费av在线| 亚洲欧美aⅴ...| 一区二区三区日韩欧美| 一区二区三区鲁丝不卡| 亚洲男女毛片无遮挡| 亚洲欧美国产高清| 亚洲午夜久久久久久久久电影院| 亚洲免费观看高清完整| 亚洲韩国一区二区三区| 亚洲国产精品久久人人爱| 亚洲国产日韩在线一区模特| 午夜精品久久久久久不卡8050| 一区二区高清在线| 日韩黄色小视频| 老司机精品视频一区二区三区| 久久精品999| 国产黄色91视频| 成人不卡免费av| 中文在线免费一区三区高中清不卡| 久久精品无码一区二区三区| 国产精品天美传媒| 一区二区三区电影在线播| 亚洲午夜免费电影| 精品影视av免费| 成人av片在线观看| 欧洲精品中文字幕| 日韩美女视频一区二区在线观看| 欧美mv和日韩mv的网站| 亚洲国产精品成人久久综合一区| 国产精品毛片无遮挡高清| 一区二区三区在线视频观看58| 亚洲国产综合在线| 紧缚奴在线一区二区三区| 国产sm精品调教视频网站| 99riav久久精品riav| 欧美日韩国产片| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲国产精品成人综合色在线婷婷| 亚洲激情在线播放| 久久精品二区亚洲w码| av不卡在线播放| 91精选在线观看| 亚洲国产岛国毛片在线| 一区二区免费在线| 国产麻豆精品一区二区| 色综合久久88色综合天天| 日韩一区二区免费电影| 中文字幕视频一区二区三区久| 亚洲第一电影网| 国产成人免费在线视频| 欧美日韩日日摸| 国产精品久久毛片av大全日韩| 亚洲大型综合色站| 成人免费的视频| 5月丁香婷婷综合| 亚洲特黄一级片| 国产在线一区二区综合免费视频| 色综合亚洲欧洲| 日韩欧美国产精品| 一区二区三区中文字幕在线观看| 经典三级一区二区| 欧美视频在线播放| 国产精品三级av| 久久99精品久久久久久| 欧美视频精品在线观看| 亚洲国产精品黑人久久久 | 一区二区三区中文字幕| 精品午夜一区二区三区在线观看| 在线看日本不卡| 国产欧美日韩精品一区| 麻豆精品久久精品色综合| 色嗨嗨av一区二区三区| 欧美国产丝袜视频| 久久精品噜噜噜成人av农村| 欧美在线三级电影| 亚洲人成伊人成综合网小说| 国产毛片精品国产一区二区三区| 欧美日本韩国一区二区三区视频| 亚洲欧洲精品天堂一级| 国产精品亚洲а∨天堂免在线| 欧美日韩亚洲高清一区二区| 亚洲桃色在线一区| 成人免费av网站| 久久免费看少妇高潮| 久久精品国产一区二区三区免费看| 欧美日韩亚洲综合| 一区二区三区精品久久久| 一本色道亚洲精品aⅴ| 国产精品天干天干在观线| 国产精品一区三区| 亚洲精品一线二线三线无人区| 日精品一区二区三区| 欧美性videosxxxxx| 亚洲女与黑人做爰| 91在线你懂得| 亚洲精品国产品国语在线app| 99在线热播精品免费| 国产精品国产三级国产专播品爱网| 国产成人鲁色资源国产91色综 | 九九九精品视频| 欧美大片一区二区三区| 免费看日韩精品| 精品久久久久久最新网址| 久草这里只有精品视频| 精品国产乱码久久久久久图片 | 国产精品九色蝌蚪自拍| 99re免费视频精品全部| 亚洲精品高清在线| 欧美日韩亚洲综合一区| 日本不卡视频在线| 26uuuu精品一区二区| 国产剧情一区在线| 国产精品丝袜一区| 一本色道久久综合亚洲91| 亚洲精品成人在线| 欧美日韩国产高清一区| 日本女人一区二区三区| 精品久久久久一区二区国产| 国产高清亚洲一区| 自拍偷在线精品自拍偷无码专区| 在线看不卡av| 蜜臀久久99精品久久久久久9| 精品精品国产高清a毛片牛牛| 国产伦理精品不卡| 亚洲欧美日韩久久精品| 欧美精品日韩综合在线| 韩国v欧美v日本v亚洲v| 中文字幕一区二区三区在线不卡 | 色嗨嗨av一区二区三区| 日韩在线观看一区二区| 26uuu亚洲婷婷狠狠天堂| 丁香六月久久综合狠狠色| 亚洲特级片在线| 8x福利精品第一导航| 国产经典欧美精品| 一区二区免费看| 欧美成人女星排名| 99精品视频一区| 蜜桃精品在线观看| 国产精品久久久久久久久快鸭 | 亚洲精品欧美二区三区中文字幕| 在线不卡一区二区| 国产麻豆视频一区二区| 亚洲精品国产一区二区精华液| 91精品国模一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 亚洲国产精品久久人人爱| 2022国产精品视频| 色8久久人人97超碰香蕉987| 久久 天天综合| 亚洲午夜久久久久久久久久久| 久久婷婷国产综合国色天香| 欧美三区免费完整视频在线观看| 精品在线观看免费| 亚洲第一成人在线| 中文在线一区二区| 日韩欧美国产精品一区| 欧洲一区二区av| 豆国产96在线|亚洲| 日本成人在线一区| 亚洲精品网站在线观看| 国产丝袜欧美中文另类| 日韩一区二区三区精品视频| 一本到一区二区三区| 国产精品资源在线观看| 三级亚洲高清视频| 亚洲精品欧美综合四区|