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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? genlib.h

?? 國外經典教材《程序設計抽象思想—C語言描述》一書中的關鍵性庫文件
?? H
字號:
/* * File: genlib.h * Last modified on Sun Jul 24 10:32:49 1994 by eroberts * ----------------------------------------------------- * This file contains several definitions that form the * core of a general-purpose ANSI C library developed by Eric * Roberts.  The goal of this library is to provide a basic * set of tools and conventions that increase the readability * of C programs, particularly as they are used in a teaching * environment. * * The basic definitions provided by genlib.h are: * *    1.  Declarations for several new "primitive" types *        (most importantly bool and string) that are *        used throughout the other libraries and *        applications as fundamental types. * *    2.  A new set of functions for memory allocation. * *    3.  A function for error handling. * *    4.  A repeat statement for loops with interior exits. */#ifndef _genlib_h#define _genlib_h#include <stdio.h>#include <stdlib.h>#include <stddef.h>/* Section 1 -- Define new "primitive" types *//* * Type: bool * ---------- * This type has two values, FALSE and TRUE, which are equal to 0 * and 1, respectively.  Most of the advantage of defining this type * comes from readability because it allows the programmer to * provide documentation that a variable will take on only one of * these two values.  Designing a portable representation, however, * is surprisingly hard, because many libraries and some compilers * define these names.  The definitions are usually compatible but * may still be flagged as errors. */#ifdef THINK_C   typedef int bool;#else#  ifdef TRUE#    ifndef bool#      define bool int#    endif#  else#    ifdef bool#      define FALSE 0#      define TRUE 1#    else       typedef enum {FALSE, TRUE} bool;#    endif#  endif#endif/* * Type: string * ------------ * The type string is identical to the type char *, which is * traditionally used in C programs.  The main point of defining a * new type is to improve program readability.   At the abstraction * levels at which the type string is used, it is usually not * important to take the string apart into its component characters. * Declaring it as a string emphasizes this atomicity. */typedef char *string;/* * Type: stream * ------------ * Like string, the stream type is used to provide additional * readability and is defined to be equivalent to FILE * * (which is particularly confusing because it violates * standard case conventions).  This type is not used in * the text but is preserved in genlib.h, so it is possible * to teach all of CS1 without exposing any pointers. */typedef FILE *stream;/* * Constant: UNDEFINED * ------------------- * Besides NULL, the only other constant of pointer type is * UNDEFINED, which is used in certain packages as a special * sentinel to indicate an undefined pointer value.  In many * such contexts, NULL is a legitimate data value and is * therefore inappropriate as a sentinel. */#define UNDEFINED ((void *) undefined_object)extern char undefined_object[];/* Section 2 -- Memory allocation *//* * General notes: * -------------- * These functions provide a common interface for memory * allocation.  All functions in the library that allocate * memory do so using GetBlock and FreeBlock.  Even though * the ANSI standard defines malloc and free for the same * purpose, using GetBlock and FreeBlock provides greater * compatibility with non-ANSI implementations, automatic * out-of-memory error detection, and the possibility of * substituting a garbage-collecting allocator. *//* * Function: GetBlock * Usage: ptr = (type) GetBlock(nbytes); * ------------------------------------- * GetBlock allocates a block of memory of the given size.  If * no memory is available, GetBlock generates an error. */void *GetBlock(size_t nbytes);/* * Function: FreeBlock * Usage: FreeBlock(ptr); * ---------------------- * FreeBlock frees the memory associated with ptr, which must * have been allocated using GetBlock, New, or NewArray. */void FreeBlock(void *ptr);/* * Macro: New * Usage: p = New(pointer-type); * ----------------------------- * The New pseudofunction allocates enough space to hold an * object of the type to which pointer-type points and returns * a pointer to the newly allocated pointer.  Note that * "New" is different from the "new" operator used in C++; * the former takes a pointer type and the latter takes the * target type. */#define New(type) ((type) GetBlock(sizeof *((type) NULL)))/* * Macro: NewArray * Usage: p = NewArray(n, element-type); * ------------------------------------- * NewArray allocates enough space to hold an array of n * values of the specified element type. */#define NewArray(n, type) ((type *) GetBlock((n) * sizeof (type)))/* Section 3 -- Basic error handling *//* * Function: Error * Usage: Error(msg, ...) * ---------------------- * Error generates an error string, expanding % constructions * appearing in the error message string just as printf does. * If an error handler exception has been introduced (see the * "exception.h" facility), the ErrorException exception is * raised with the expanded error string as argument.  If * there is no ErrorException defined, the program exits * with a status code indicating failure (as given by the * constant ErrorExitStatus).  The length of the error * message string following expansion must not exceed * MaxErrorMessage, and it is the client's responsibility * to ensure this. */void Error(string msg, ...);/* Section 4 -- The repeat pseudo-statement *//* * Statement form: repeat { ... } * ------------------------------ * Some instructors who have taught CS1 using this library * have found that using * *     while (TRUE) * * to initiate a loop with an interior exit is confusing to * students, particularly when it comes at the beginning of * the course.  This macro defines "repeat" as an infinite * loop construct for instructors who find it easier to * explain, although it is not used in the text.   Similar * macro definitions are common in industry. */#define repeat for (;;)#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级精品在线| 中文一区在线播放| 久久精品欧美日韩精品| 亚洲蜜桃精久久久久久久| 蜜臀91精品一区二区三区 | 欧美一区三区四区| 国产精品美女久久久久高潮| 日韩在线一区二区三区| 成人ar影院免费观看视频| 欧美一级艳片视频免费观看| 亚洲理论在线观看| 成人激情小说网站| 26uuu国产电影一区二区| 亚洲一区二区三区四区五区黄 | 日韩美女主播在线视频一区二区三区| 国产精品国产馆在线真实露脸| 久久不见久久见免费视频1| 欧美主播一区二区三区| 国产精品久99| 国产成人av自拍| 26uuu另类欧美亚洲曰本| 日韩高清不卡在线| 欧美日韩亚洲综合| 亚洲专区一二三| 91丨九色丨国产丨porny| 国产精品五月天| 国产一区二区三区日韩| 欧美成人bangbros| 免费成人性网站| 欧美一区国产二区| 日韩av一区二区三区四区| 欧美三级在线看| 一区二区久久久久久| 99免费精品视频| 亚洲欧洲色图综合| 91美女视频网站| 亚洲色图另类专区| 91久久免费观看| 亚洲精品视频免费看| 色偷偷成人一区二区三区91| 亚洲女同女同女同女同女同69| 91麻豆swag| 亚洲自拍偷拍av| 欧美疯狂性受xxxxx喷水图片| 亚洲电影你懂得| 91精品国产欧美一区二区18| 免费成人你懂的| 精品国产91乱码一区二区三区| 久久99精品网久久| 国产精品美女久久久久久2018| 91美女精品福利| 日韩国产欧美在线播放| 亚洲精品成人天堂一二三| 91福利视频网站| 日韩精品一卡二卡三卡四卡无卡| 日韩免费高清视频| 国产成人免费在线| 亚洲激情图片一区| 欧美大片顶级少妇| 成人午夜电影小说| 亚洲一级二级三级在线免费观看| 欧美一区二区三区免费在线看| 国产在线播放一区三区四| 亚洲国产精品二十页| 欧美性色黄大片| 黄色资源网久久资源365| 中文字幕亚洲区| 7878成人国产在线观看| 国产98色在线|日韩| 亚洲综合小说图片| 久久久久久久久久久99999| 色综合视频在线观看| 老色鬼精品视频在线观看播放| 国产精品欧美极品| 日韩一二三四区| 色婷婷亚洲综合| 精品夜夜嗨av一区二区三区| 亚洲精品久久久久久国产精华液| 日韩欧美国产高清| 91久久人澡人人添人人爽欧美| 久久91精品国产91久久小草 | 午夜精品福利视频网站| 久久精品无码一区二区三区| 欧美午夜一区二区三区免费大片| 国产伦精品一区二区三区视频青涩 | 欧美国产精品一区二区| 欧美绝品在线观看成人午夜影视| 国产成人激情av| 日韩精品电影一区亚洲| 中文字幕一区二区三区不卡在线| 欧美一级精品大片| 欧美日韩成人在线| 色婷婷久久99综合精品jk白丝| 国产一区91精品张津瑜| 日本成人中文字幕| 亚洲一区视频在线| 成人欧美一区二区三区视频网页| 欧美精品一区二| 欧美一级日韩一级| 欧美丰满少妇xxxbbb| 欧美在线免费观看亚洲| k8久久久一区二区三区 | 国产色一区二区| 精品国产乱码久久久久久免费| 欧美日韩国产免费一区二区| 91精品1区2区| 91蜜桃免费观看视频| 不卡的看片网站| 成人国产精品免费网站| 国产91精品在线观看| 狠狠色综合色综合网络| 美女精品一区二区| 久久99蜜桃精品| 久久99热这里只有精品| 韩国欧美一区二区| 国模套图日韩精品一区二区| 久久电影网站中文字幕| 久久99热99| 国产中文一区二区三区| 国产精品自拍毛片| 国产成人免费网站| 99国产麻豆精品| 91国产丝袜在线播放| 欧美三级电影在线观看| 9191久久久久久久久久久| 91麻豆精品国产91久久久久久久久| 这里只有精品免费| 日韩精品一区二| 国产午夜三级一区二区三| 国产精品乱子久久久久| 亚洲欧美日韩精品久久久久| 亚洲综合图片区| 另类小说视频一区二区| 国产精品一二三区| 91在线免费播放| 欧美日韩精品一区二区三区蜜桃| 欧美一区二区观看视频| 久久免费的精品国产v∧| 国产精品久久久久久久久久免费看| 亚洲欧洲国产专区| 亚洲国产中文字幕在线视频综合| 日日摸夜夜添夜夜添国产精品| 久久精品国产**网站演员| 国产风韵犹存在线视精品| 93久久精品日日躁夜夜躁欧美| 精品1区2区3区| 2019国产精品| 一区二区三区成人| 日本成人在线电影网| 岛国av在线一区| 欧美无砖砖区免费| 久久人人爽人人爽| 亚洲成人动漫精品| 国产福利91精品| 欧美猛男超大videosgay| 久久蜜臀精品av| 香港成人在线视频| 成人午夜av影视| 制服丝袜激情欧洲亚洲| 国产精品久久福利| 久久er精品视频| 在线观看视频一区| 久久网站热最新地址| 亚洲一区二区中文在线| 国产91综合一区在线观看| 欧美嫩在线观看| 国产精品久久久久久久久免费桃花| 天堂av在线一区| 91丨porny丨蝌蚪视频| 日韩欧美中文字幕公布| eeuss鲁一区二区三区| 欧美一级日韩一级| 亚洲综合在线视频| 成人小视频在线| 欧美v亚洲v综合ⅴ国产v| 亚洲一区电影777| 色激情天天射综合网| 亚洲国产成人私人影院tom| 久久电影国产免费久久电影| 欧美日韩一区二区三区视频| 国产精品白丝在线| 国内精品在线播放| 欧美成人高清电影在线| 污片在线观看一区二区| 色婷婷综合久久久中文一区二区| 国产午夜精品一区二区三区四区| 裸体歌舞表演一区二区| 欧美体内she精视频| 日韩久久一区二区| av一本久道久久综合久久鬼色| 久久综合九色综合欧美亚洲| 美女一区二区三区在线观看| 欧美三级午夜理伦三级中视频| 亚洲欧美色一区| av中文字幕在线不卡| 国产精品理伦片| 福利一区二区在线| 亚洲国产精品av| 成年人网站91| 日韩美女久久久|