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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? examples.gml

?? 開放源碼的編譯器open watcom 1.6.0版的源代碼
?? GML
字號:
.pp
This chapter presents a series of examples of declarations of objects
and functions. Along with each example is a description that indicates
how to read the declaration.
.pp
This chapter may be used as a "cookbook" for declarations.
Some complicated but commonly required
declarations are given here.
.pp
The first examples are very simple, and build in complexity.
Some of the examples given near the end of each section are unlikely
to ever be required in a real program, but hopefully they will provide
an understanding of how to read and write C declarations.
.pp
To reduce the complexity and to better illustrate how a small difference
in the declaration can mean a big difference in the meaning, the
following rules are followed:
.autonote
.note
if an object is being declared, it is called
.mono x
or
.mono X
..ct ,
.note
if a function is being declared, it is called
.mono F
..ct ,
.note
if an object is being declared, it usually has type
.kw int
..ct ,
although any other type may be substituted,
.note
if a function is being declared, it usually returns type
.kw int
..ct ,
although any other type may be substituted.
.endnote
.pp
Storage class specifiers (
..ct .kw extern
..ct ,
.kw static
..ct ,
.kw auto
or
.kw register
..ct ) have purposely been omitted.
.*
.section Object Declarations
.*
.pp
Here are some examples of object (variable) declarations:
.keep begin
.pp
.millust begin
int x;
 &MSUPER2.  &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is an
&SUPER2.integer.
.discuss end
.keep break
.millust begin
int * x;
 &MSUPER3.  &MSUPER2. &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a
&SUPER2.pointer to an &SUPER3.integer.
.discuss end
.keep break
.millust begin
int ** x;
 &MSUPER4.  &MSUPER3.&MSUPER2. &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a
&SUPER2.pointer to a &SUPER3.pointer to an &SUPER4.integer.
.discuss end
.keep break
.millust begin
const int x;
  &MSUPER2.    &MSUPER3.  &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.constant
&SUPER3.integer.
.discuss end
.keep break
.millust begin
int const x;
 &MSUPER3.    &MSUPER2.   &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.constant
&SUPER3.integer (same as above).
.discuss end
.keep break
.millust begin
const int * x;
  &MSUPER3.    &MSUPER4.  &MSUPER2. &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.pointer to a &SUPER3.constant
&SUPER4.integer.
The value of
.mono x
may change, but the integer that it points to may not be changed.
In other words,
.mono *x
cannot be modified.
.discuss end
.keep break
.millust begin
int * const x;
 &MSUPER4.  &MSUPER3.   &MSUPER2.   &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.constant &SUPER3.pointer to an &SUPER4.integer.
The value of
.mono x
may not change, but the integer that it points to may change.
In other words,
.mono x
will always point at the same location, but the contents of that location
may vary.
.discuss end
.keep break
.millust begin
const int * const x;
  &MSUPER4.    &MSUPER5.  &MSUPER3.   &MSUPER2.   &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.constant &SUPER3.pointer to a &SUPER4.constant &SUPER5.integer.
The value of
.mono x
may not change, and the integer that it points to may not change.
In other words,
.mono x
will always point at the same location, which cannot be modified via
.mono x.
.discuss end
.keep break
.millust begin
int x[];
 &MSUPER3.  &MSUPER1.&MSUPER2.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is an &SUPER2.array of &SUPER3.integers.
.discuss end
.keep break
.millust begin
int x[53];
 &MSUPER4.  &MSUPER1.&MSUPER2.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is an &SUPER2.array of &SUPER3.53 &SUPER4.integers.
.discuss end
.keep break
.millust begin
int * x[];
 &MSUPER4.  &MSUPER3. &MSUPER1.&MSUPER2.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is an &SUPER2.array of &SUPER3.pointers to &SUPER4.integer.
.discuss end
.keep break
.millust begin
int (*x)[];
 &MSUPER4.   &MSUPER2.&MSUPER1. &MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.pointer to an &SUPER3.array of &SUPER4.integers.
.discuss end
.keep break
.millust begin
int * (*x)[];
 &MSUPER5.  &MSUPER4.  &MSUPER2.&MSUPER1. &MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.pointer to an &SUPER3.array of &SUPER4.pointers to
&SUPER5.integer.
.discuss end
.keep break
.millust begin
int (*x)();
 &MSUPER4.   &MSUPER2.&MSUPER1. &MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.pointer to a &SUPER3.function returning an &SUPER4.integer.
.discuss end
.keep break
.millust begin
int (*x[25])();
 &MSUPER6.   &MSUPER4.&MSUPER1.&MSUPER2.&MSUPER3.   &MSUPER5.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is an &SUPER2.array of &SUPER3.25 &SUPER4.pointers to
&SUPER5.functions returning an &SUPER6.integer.
.discuss end
.keep end
.*
.section Function Declarations
.*
.pp
Here are some examples of function declarations:
.keep begin
.millust begin
int F();
 &MSUPER3.  &MSUPER1.&MSUPER2.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.function returning an &SUPER3.integer.
.discuss end
.keep break
.millust begin
int * F();
 &MSUPER4.  &MSUPER3. &MSUPER1.&MSUPER2.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.function returning a &SUPER3.pointer to an &SUPER4.integer.
.discuss end
.* .keep break
.* .millust begin
.* int F()();
.*  &SUPER4.  &SUPER1.&SUPER2. &SUPER3.
.* .millust end
.* .discuss begin
.* &SUPER1.
.* ..ct .mono F
.* is a &SUPER2.function returning a (pointer to a) &SUPER3.function returning &SUPER4.
.* ..ct .kw int
.* ..ct ..li .
.* .discuss end
.keep break
.millust begin
int (*F())();
 &MSUPER5.   &MSUPER3.&MSUPER1.&MSUPER2.  &MSUPER4.
.millust end
.discuss begin
.* The same as above,
&SUPER1.
..ct .mono F
is a &SUPER2.function returning a &SUPER3.pointer to a
&SUPER4.function returning an &SUPER5.integer.
.discuss end
.* .keep break
.* .millust begin
.* int *(F())();
.*  &SUPER5.  &SUPER4. &SUPER1.&SUPER2.  &SUPER3.
.* .millust end
.* .discuss begin
.* &SUPER1.
.* ..ct .mono F
.* is a &SUPER2.function returning a (pointer to a) &SUPER3.function returning
.* a &SUPER4.pointer to an &SUPER5.
.* ..ct .kw int
.* ..ct ..li .
.* .discuss end
.keep break
.millust begin
int * (*F())();
 &MSUPER6.  &MSUPER5.  &MSUPER3.&MSUPER1.&MSUPER2.  &MSUPER4.
.millust end
.discuss begin
.* The same as above,
&SUPER1.
..ct .mono F
is a &SUPER2.function returning a &SUPER3.pointer to a
&SUPER4.function returning
a &SUPER5.pointer to an &SUPER6.integer.
.discuss end
.keep break
.millust begin
int (*F())[];
 &MSUPER5.   &MSUPER3.&MSUPER1.&MSUPER2.  &MSUPER4.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.function returning a &SUPER3.pointer to an
&SUPER4.array of &SUPER5.integers.
.discuss end
.* .keep break
.* .millust begin
.* int (*F())[]();
.*  &SUPER6.   &SUPER3.&SUPER1.&SUPER2.  &SUPER4. &SUPER5.
.* .millust end
.* .discuss begin
.* &SUPER1.
.* ..ct .mono F
.* is a &SUPER2.function returning a &SUPER3.pointer to an &SUPER4.array of
.* (pointers to) &SUPER5.functions returning &SUPER6.
.* ..ct .kw int
.* ..ct ..li .
.* .discuss end
.keep break
.millust begin
int (*(*F())[])();
 &MSUPER7.   &MSUPER5. &MSUPER3.&MSUPER1.&MSUPER2.  &MSUPER4.  &MSUPER6.
.millust end
.discuss begin
.* The same as above,
&SUPER1.
..ct .mono F
is a &SUPER2.function returning a &SUPER3.pointer to an &SUPER4.array of
&SUPER5.pointers to &SUPER6.functions returning an &SUPER7.integer.
.discuss end
.keep break
.millust begin
int * (*(*F())[])();
 &MSUPER8.  &MSUPER7.  &MSUPER5. &MSUPER3.&MSUPER1.&MSUPER2.  &MSUPER4.  &MSUPER6.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.function returning a &SUPER3.pointer to an &SUPER4.array of
&SUPER5.pointers to &SUPER6.functions returning a &SUPER7.pointer to an
&SUPER8.integer.
.discuss end
.keep end
.*
.************************************************************************
.*
..if '&target' eq 'PC' or '&target' eq 'PC 370' ..th ..do begin
.*
.section &kwfar_sp., &kwnear_sp. and &kwhuge_sp. Declarations
.*
..if '&target' eq 'PC 370' ..th ..do begin
.shade begin
These examples apply only to the &wcboth. compilers.
.shade end
..do end
.pp
The following examples illustrate the use of the
.kwix &kwfar_sp.
.kwfont &kwfar.
and
.kwix &kwhuge_sp.
.kwfont &kwhuge.
keywords.
.* The examples assume that the
.* .ix 'small code'
.* small code,
.* .ix 'small data'
.* small data
.* .ix 'small memory model'
.* .ix 'memory model' 'small'
.* (small memory model)
.* is being used.
.* .pp
.* No examples of the
.* .kwix &kwnear_sp.
.* .kwfont &kwnear.
.* keyword have been given since its use is
.* symmetrical with the use of the
.* .kwix &kwfar_sp.
.* .kwfont &kwfar.
.* keyword (when the
.* .ix 'big code'
.* big code and/or
.* .ix 'big data'
.* big data model
.* is being used).
.pp
The use of the
.kwix &kwnear_sp.
.kwfont &kwnear.
keyword is symmetrical with the use of the
.kwix &kwfar_sp.
.kwfont &kwfar.
keyword, so no examples of
.kwix &kwnear_sp.
.kwfont &kwnear.
are shown.
.keep begin
.millust begin
int __far X;
 &MSUPER3.    &MSUPER2.   &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono X
is a
&SUPER2.far
&SUPER3.integer.
.discuss end
.keep break
.millust begin
int * __far x;
 &MSUPER4.  &MSUPER3.   &MSUPER2.   &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is
&SUPER2.far,
and is a
&SUPER3.pointer to an &SUPER4.integer.
.discuss end
.keep break
.millust begin
int __far * x;
 &MSUPER4.    &MSUPER2.   &MSUPER3. &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.far
&SUPER3.pointer to an &SUPER4.integer.
.discuss end
.keep break
.millust begin
int __far * __far x;
 &MSUPER5.    &MSUPER3.   &MSUPER4.   &MSUPER2.   &MSUPER1.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is &SUPER2.far,
and is a &SUPER3.far
&SUPER4.pointer to an
&SUPER5.integer.
.discuss end
.keep break
.millust begin
int __far X[];
 &MSUPER4.    &MSUPER2.   &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono X
is a &SUPER2.far
&SUPER3.array of &SUPER4.integers.
.discuss end
.keep break
.millust begin
int __huge X[];
 &MSUPER4.    &MSUPER2.    &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.huge
&SUPER3.array of &SUPER4.integers
(
..ct .mono X
is an array that can exceed 64K in size.)
.discuss end
.keep break
.millust begin
int * __far X[];
 &MSUPER5.  &MSUPER4.   &MSUPER2.   &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono X
is a &SUPER2.far
&SUPER3.array of &SUPER4.pointers to &SUPER5.integers.
.discuss end
.keep break
.millust begin
int __far * X[];
 &MSUPER5.    &MSUPER3.   &MSUPER4. &MSUPER1.&MSUPER2.
.millust end
.discuss begin
&SUPER1.
..ct .mono X
is an &SUPER2.array of &SUPER3.far
&SUPER4.pointers to &SUPER5.integers.
.discuss end
.keep break
.millust begin
int __far * __far X[];
 &MSUPER6.    &MSUPER4.   &MSUPER5.   &MSUPER2.   &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono X
is a &SUPER2.far
&SUPER3.array of &SUPER4.far
&SUPER5.pointers to
&SUPER6.integers.
.discuss end
.keep break
.millust begin
int __far F();
 &MSUPER4.    &MSUPER2.   &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.far
&SUPER3.function returning an &SUPER4.integer.
.discuss end
.keep break
.millust begin
int * __far F();
 &MSUPER5.  &MSUPER4.   &MSUPER2.   &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.far
&SUPER3.function returning a &SUPER4.pointer to an &SUPER5.integer.
.discuss end
.keep break
.millust begin
int __far * F();
 &MSUPER5.    &MSUPER3.   &MSUPER4. &MSUPER1.&MSUPER2.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a
&SUPER2.function returning a &SUPER3.far
&SUPER4.pointer to an
&SUPER5.integer.
.discuss end
.keep break
.millust begin
int __far * __far F();
 &MSUPER6.    &MSUPER4.   &MSUPER5.   &MSUPER2.   &MSUPER1.&MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.far
&SUPER3.function returning a &SUPER4.far
&SUPER5.pointer to an
&SUPER6.integer.
.discuss end
.keep break
.millust begin
int (__far * x)();
 &MSUPER5.     &MSUPER2.   &MSUPER3. &MSUPER1. &MSUPER4.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.far
&SUPER3.pointer to a
&SUPER4.function returning an &SUPER5.integer.
.discuss end
.keep break
.millust begin
int __far * (* x)();
 &MSUPER6.    &MSUPER4.   &MSUPER5.  &MSUPER2. &MSUPER1. &MSUPER3.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.pointer to a
&SUPER3.function returning a &SUPER4.far
&SUPER5.pointer to an
&SUPER6.integer.
.discuss end
.keep break
.millust begin
int __far * (__far * x)();
 &MSUPER7.    &MSUPER5.   &MSUPER6.    &MSUPER2.   &MSUPER3. &MSUPER1. &MSUPER4.
.millust end
.discuss begin
&SUPER1.
..ct .mono x
is a &SUPER2.far
&SUPER3.pointer to a
&SUPER4.function returning a &SUPER5.far
&SUPER6.pointer to an
&SUPER7.integer.
.discuss end
.keep end
.*
.section &kwintr_sp. Declarations
.*
..if '&target' eq 'PC 370' ..th ..do begin
.shade begin
This example applies only to the &wcboth. compilers.
.shade end
..do end
.pp
The following example illustrates the use of the
.kwix &kwintr_sp.
.kwfont &kwintrpt.
keyword.
.keep begin
.millust begin
void __interrupt __far F();
 &MSUPER5.         &MSUPER3.       &MSUPER2.   &MSUPER1.&MSUPER4.
.millust end
.discuss begin
&SUPER1.
..ct .mono F
is a &SUPER2.far
&SUPER3.interrupt
&SUPER4.function returning &SUPER5.nothing.
.discuss end
.keep end
..do end
.*
.************************************************************************
.*

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合在线| 日韩中文字幕av电影| 亚洲欧美成人一区二区三区| 亚洲欧美日韩国产手机在线 | 久久久久久免费| 久久精品视频免费观看| 日韩理论电影院| 亚洲一区二区三区自拍| 午夜久久久久久久久久一区二区| 五月婷婷激情综合| 久久成人久久爱| 国产不卡免费视频| 91丨porny丨户外露出| 99久久精品免费看国产免费软件| 一本久道久久综合中文字幕| 欧美日韩性生活| 精品国产三级a在线观看| 欧美国产日本韩| 亚洲一区二区成人在线观看| 另类的小说在线视频另类成人小视频在线 | 欧美亚一区二区| 日韩一区二区三区精品视频 | 亚洲精品自拍动漫在线| 亚洲国产成人av网| 精久久久久久久久久久| www.日韩av| 91精品国产一区二区三区香蕉| 久久久精品黄色| 亚洲欧美一区二区久久| 日本女人一区二区三区| 成人性生交大片免费看在线播放| 欧美在线免费播放| 久久久久9999亚洲精品| 亚洲综合免费观看高清完整版在线 | 在线播放中文一区| 欧美激情综合五月色丁香| 亚洲国产欧美另类丝袜| 国产中文字幕一区| 99精品欧美一区| 日韩精品中文字幕在线一区| 亚洲狼人国产精品| 国产一区在线观看视频| 欧美性生交片4| 2021久久国产精品不只是精品| 亚洲男女一区二区三区| 国产精品一区三区| 欧美久久免费观看| 国产精品家庭影院| 六月婷婷色综合| 一本一道久久a久久精品综合蜜臀| 欧美电视剧免费观看| 亚洲一二三专区| 国内外成人在线视频| 91视频xxxx| 国产欧美日本一区视频| 丝袜国产日韩另类美女| 91年精品国产| 欧美激情综合在线| 精品一区二区三区免费毛片爱| 欧美一a一片一级一片| 国产偷国产偷精品高清尤物 | 久久久久久麻豆| 亚洲成人在线网站| 97久久久精品综合88久久| 久久亚洲一区二区三区四区| 视频一区二区三区中文字幕| 在线看一区二区| 成人免费在线播放视频| 高清不卡一二三区| 精品久久久久一区二区国产| 亚洲精品国久久99热| 成熟亚洲日本毛茸茸凸凹| 精品三级av在线| 欧美aⅴ一区二区三区视频| 欧美视频自拍偷拍| 一区二区在线观看免费| 99久久伊人精品| 国产精品九色蝌蚪自拍| av中文字幕亚洲| 国产精品视频线看| 韩国成人福利片在线播放| 日韩精品一区二| 久久精品国产**网站演员| 3atv在线一区二区三区| 婷婷开心激情综合| 在线成人免费观看| 亚洲成人精品一区| 欧美日本高清视频在线观看| 国产精品不卡在线| 99久久国产综合精品色伊| 国产精品高潮呻吟| 99久久综合狠狠综合久久| 国产美女av一区二区三区| 精品三级av在线| 成人小视频免费观看| 一区二区视频在线| 9191成人精品久久| 国产一区激情在线| 综合激情成人伊人| 欧美久久高跟鞋激| 韩国成人在线视频| 亚洲视频你懂的| 717成人午夜免费福利电影| 久久99久久99| 日韩一区日韩二区| 欧美日本视频在线| 国产精品99精品久久免费| 亚洲天天做日日做天天谢日日欢 | 丝袜脚交一区二区| 国产日产欧美一区| 91麻豆精品视频| 日本aⅴ免费视频一区二区三区| 久久久99久久| 欧美日韩一区成人| 国产精品99久久久久久似苏梦涵| 亚洲天堂中文字幕| 欧美一区二区高清| av一区二区三区在线| 视频在线在亚洲| 中文无字幕一区二区三区| 欧美午夜在线一二页| 国产一区二区三区视频在线播放| 中文字幕中文乱码欧美一区二区| 欧美日韩久久不卡| 国产精品一二三| 亚洲第一搞黄网站| 国产精品美女久久久久久久网站| 欧美日韩精品免费观看视频| 风间由美一区二区av101| 亚洲电影一区二区| 国产欧美一区二区三区沐欲| 在线视频国内自拍亚洲视频| 国产乱人伦偷精品视频不卡| 爽好多水快深点欧美视频| 中文字幕二三区不卡| 制服丝袜一区二区三区| 成人aaaa免费全部观看| 日韩电影在线免费观看| 亚洲视频在线一区观看| 久久综合久久综合久久综合| 欧美三级三级三级爽爽爽| 成人免费视频免费观看| 日韩高清一区在线| 亚洲欧美日韩国产另类专区 | 国产综合色在线视频区| 亚洲日本电影在线| 2023国产精品视频| 666欧美在线视频| 99这里都是精品| 九九久久精品视频| 亚洲一区二区三区四区在线| 国产日韩视频一区二区三区| 欧美久久久久免费| 欧美性色综合网| 成人app网站| 国产精品亚洲人在线观看| 美女精品自拍一二三四| 亚洲综合自拍偷拍| 亚洲视频一区二区在线| 中文字幕欧美国产| 久久中文字幕电影| 欧美不卡123| 欧美成人高清电影在线| 在线播放91灌醉迷j高跟美女| 91九色最新地址| 中文字幕一区二区三区不卡在线| 欧美精品一区二区在线观看| 91精品国产aⅴ一区二区| 欧美日本一道本| 欧美精品一级二级| 欧美日韩亚洲不卡| 欧美日韩高清一区二区不卡| 色噜噜狠狠一区二区三区果冻| 成人美女视频在线看| 国产1区2区3区精品美女| 国产乱国产乱300精品| 国精产品一区一区三区mba桃花| 蜜芽一区二区三区| 美腿丝袜在线亚洲一区| 日本在线播放一区二区三区| 日韩av电影天堂| 蜜臀av国产精品久久久久| 香蕉久久夜色精品国产使用方法 | 91福利在线看| 在线亚洲免费视频| 精品视频在线视频| 欧美性欧美巨大黑白大战| 欧美性三三影院| 欧美福利视频一区| 欧美zozozo| 国产亚洲成aⅴ人片在线观看 | 91看片淫黄大片一级在线观看| av成人动漫在线观看| 色综合久久综合中文综合网| 欧美性videosxxxxx| 欧美精品在线观看一区二区| 91精品国产91久久综合桃花| 欧美va亚洲va| 国产欧美一区二区三区在线看蜜臀 | 欧美大片免费久久精品三p|