当前位置:网站首页>什麼是定義?什麼是聲明?它們有何區別?
什麼是定義?什麼是聲明?它們有何區別?
2022-07-03 07:48:00 【是北豼不太皮吖】
什麼是定義?
什麼是定義:所謂的定義就是(編譯器)創建一個對象,為這個對象分配一塊內存並給它取上一個名字,這個名字就是我們經常所說的變量名或對象名。但注意,這個名字一旦和這塊內存匹配起來,它們就同生共死,終生不離不弃。並且這塊內存的比特置也不能被改變。一個變量或對象在一定的區域內(比如函數內,全局等)只能被定義一次,如果定義多次,編譯器會提示你重複定義同一個變量或對象。
int i;
什麼是聲明?
什麼是聲明:有兩重含義,如下:
第一重含義:告訴編譯器,這個名字已經匹配到一塊內存上了,下面的代碼用到變量或對象是在別的地方定義的。聲明可以出現多次。
extern int i;
第二重含義:告訴編譯器,我這個名字我先預定了,別的地方再也不能用它來作為變量名或對象名。比如你在圖書館自習室的某個座比特上放了一本書,錶明這個座比特已經有人預訂,別人再也不允許使用這個座比特。其實這個時候你本人並沒有坐在這個座比特上。這種聲明最典型的例子就是函數參數的聲明,例如:
void fun(int i, char c);
它們有什麼區別?
定義是需要分配內存空間的。
聲明是不需要分配內存空間的。
边栏推荐
- EtherCAT state machine transition (ESM)
- Pat grade a 1029 median
- 技术干货|昇思MindSpore可变序列长度的动态Transformer已发布!
- 在浏览器输入url后执行什么
- Go language foundation ----- 09 ----- exception handling (error, panic, recover)
- Unity XR实现交互(抓取,移动旋转,传送,射击)-Pico
- 【LeetCode】3. Merge two sorted lists · merge two ordered linked lists
- 【LeetCode】3. Merge Two Sorted Lists·合并两个有序链表
- 什么是数据类型?数据类型有什么用?
- [at] abc 258G - Triangle 三元组可达-暴力
猜你喜欢

Technical dry goods Shengsi mindspire lite1.5 feature release, bringing a new end-to-end AI experience

【MySQL 14】使用DBeaver工具远程备份及恢复MySQL数据库(Linux 环境)

Go language foundation ----- 13 ----- file
![[MySQL 11] how to solve the case sensitive problem of MySQL 8.0.18](/img/9b/db5fe1a37e0de5ba363f9e108310a5.png)
[MySQL 11] how to solve the case sensitive problem of MySQL 8.0.18

項目經驗分享:實現一個昇思MindSpore 圖層 IR 融合優化 pass

Go language foundation ------17 ----- channel creation, read-write, security shutdown, multiplexing select

What to do after the browser enters the URL

Analysis of the ninth Blue Bridge Cup single chip microcomputer provincial competition

Lucene skip table

UA camouflage, get and post in requests carry parameters to obtain JSON format content
随机推荐
Lucene skip table
创业团队如何落地敏捷测试,提升质量效能?丨声网开发者创业讲堂 Vol.03
Go language foundation ------ 12 ------ JSON
Inverted chain disk storage in Lucene (pfordelta)
【LeetCode】3. Merge Two Sorted Lists·合并两个有序链表
[MySQL 11] how to solve the case sensitive problem of MySQL 8.0.18
【LeetCode】2. Valid parentheses · valid parentheses
Technical dry goods | alphafold/ rosettafold open source reproduction (2) - alphafold process analysis and training Construction
密西根大学张阳教授受聘中国上海交通大学客座教授(图)
Go language - loop statement
Go language foundation ------ 14 ------ gotest
Hnsw introduction and some reference articles in lucene9
技术干货|昇思MindSpore算子并行+异构并行,使能32卡训练2420亿参数模型
研究显示乳腺癌细胞更容易在患者睡觉时进入血液
技术干货|昇思MindSpore NLP模型迁移之Roberta ——情感分析任务
Technical dry goods Shengsi mindspire lite1.5 feature release, bringing a new end-to-end AI experience
Go language foundation ----- 05 ----- structure
Lucene introduces NFA
哪一刻你才发现青春结束了
Redis批量启停脚本