- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指標與C語言IO
【變數與記憶體位址】 變數(Variable)提供一個有名稱的記憶體儲存空間。一個變數包含資料型態、變數本身的值及它的位址值。 變數資料型態決定了變數所分配到的記憶體大小;變數本身的值是指儲存於記憶體中的資料內容;而您可以透過變數名稱取得這個資料內容,又稱為 rvalue或 read value;而變數的位址值則是指變數所分配到的記憶體之位置,又稱為lvalue或 location value。 如果您想知道變數的記憶體位址為何,您可以使用運算子,是「取址運算子」(Address-of operator),它可以取出變數的記憶體位址,例如: #include iostream using namespace std; ? int main() { int var = 10; cout 變數var的值: var endl; cout 變數var的記憶體位址: var endl; system(pause); return 0; } 【指標 Pointer】 一般變數可以直接對所分配到的記憶體空間作存取;而指標則提供了間接存取,指標可指向特定的記憶體位址,而不直接操作變數或物件,要宣告一個指標,使用以下的語法: type *ptr; 其中type是指標的資料型態,每一個指標都有一個相對應的型態,用以指出所指向的資料或物件之資料型態有所不同,編譯器根據指標型態來確定特定記憶體位址上的資料如何解釋,以及如何進行指標運算(Pointer arithmetic),以下是幾個指標宣告的範例: int *iptr; double *dptr; char *cptr; 【變數與指標的存取】 #include iostream using namespace std; ? int main() { int var = 10; int *ptr = var ; cout 變數var的位址: var endl; cout 指標ptr指向的位址: ptr endl; cout 指標ptr儲存的值: ptr endl; cout 取出ptr指向的記憶體位置之值: *ptr endl; system(pause); return 0; } 可以改為: int *ptr; ptr = var; 但不能寫成:int *ptr = var; 【變數與指標的存取】 //pointer03.cpp #include iostream using namespace std; ? int main() { int var = 10; int *ptr = var ; cout var = var endl; cout *ptr = *ptr endl; *ptr = 20; cout var = var endl; cout *ptr = *ptr endl; system(pause); return 0; } 【指標的運算】 //pointer04.cpp #include iostream using namespace std; ? int main() { int *iptr = 0; cout iptr位置: iptr endl; cout iptr+1: iptr+1 endl; cout iptr+2: iptr+2 endl; double *dptr = 0; cout dptr位置: dptr endl; cout dptr+1: dptr+1 endl; cout dptr+2: dptr+2 endl;? system(pause); return 0; } 【指標與陣列】 在宣告一個陣列之後,陣列名稱用來參考至陣列的第一個元素的記憶體位址,例如在下面的程式中可發現,陣列arr與arr[0]所指向的位置是相同的: #include iostream using namespace std; ? int main() { int arr[10] = {0}; cout arr :\t arr endl; cout arr[0]: arr[0] endl; ? system(pause); return 0; } 【
您可能关注的文档
- 微型創業的市場區隔與目標市場蛋糕商品販賣平台.ppt
- 心測篇.doc
- 微信订气平台详情资料-祥康电子.ppt
- 微信各种应用说明-银光网站.doc
- 新目标英语初一年级上期词组总复习.doc
- 新竹市97學年推動「健康促進口腔衛生學校」縣市實施計畫.doc
- 微型注塑机、全钢实验台-南京林业大学招标办公室.doc
- 思问议练悟二展示1、在这篇课文中,法布尔把自己对松树金龟子的.ppt
- 恒盛拆解环评简本.doc-台州市环境保护局路桥分局.doc
- 新進教師須知.doc
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)