網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
首先我們來羅列一下C語(yǔ)言的基本數(shù)據(jù)類型(未提及的后續(xù)將在關(guān)鍵字專題講解):
類型名稱 | 所占字節(jié) |
char(字符型) %c | 2 |
short(短整形) %d | 2 |
int(整形) %d | 4 |
long int(長(zhǎng)整形) %ld | 4 |
long long int(長(zhǎng)整形) %lld | 8 |
float(單精度浮點(diǎn)型) %f | 4 |
double(雙精度浮點(diǎn)型) %lf | 8 |
字符型:用來儲(chǔ)存字符,如:'s','@';
整型:用來儲(chǔ)存整數(shù)(無符號(hào)有符號(hào)均可),如:899,-56;
浮點(diǎn)型:用來儲(chǔ)存小數(shù),如10.0,89.5;
為什么要?jiǎng)?chuàng)造出這么多種數(shù)據(jù)類型呢?因?yàn)橛?jì)算機(jī)的內(nèi)存是有限的,所以要將內(nèi)存盡可能的合理分配,避免不必要的空間浪費(fèi)。
在這里介紹一下sizeof?函數(shù),可以測(cè)量一個(gè)數(shù)據(jù)類型所占有的字節(jié)大小,具體使用案例如下。因?yàn)樽止?jié)大小是一個(gè)很小的的整數(shù),所以我選擇了用短整型來輸出。感興趣可以自己敲一下,編程學(xué)習(xí)是離不開實(shí)踐的
簡(jiǎn)單介紹完C語(yǔ)言的數(shù)據(jù)類型后,我們來講解一下常量和變量。變量理解起來非常簡(jiǎn)單,可以被改變的量就是變量,我們來著講解一下變量的作用域和生命周期。
1.變量的作用域:
指的是這個(gè)變量可以起作用的范圍,根據(jù)變量的作用域不同,可以把變量分為全局變量和局部變量
#include<stdio.h> int a=5; //在main函數(shù)外創(chuàng)建了一個(gè)全局變量并初始化 int main() { int b=6;//聲明了一個(gè)局部變量并初始化 return 0; }
這里面變量a的作用域是整個(gè)程序,而變量b的作用域只在main函數(shù)內(nèi)部,如果你再寫一個(gè)其他的函數(shù),想在里面引用b就會(huì)報(bào)錯(cuò),因?yàn)槌隽薭的作用域,而你卻可以隨意引用a,只要方式得當(dāng)。
2.變量的生命周期:
是指一個(gè)變量從被創(chuàng)建到被銷毀的周期,在變量的生命周期內(nèi),變量可以被使用。
全局變量的生命周期是整個(gè)程序,而局部變量的生命周期只是其作用的函數(shù)內(nèi),這與變量在內(nèi)存中被儲(chǔ)存的位置有關(guān)。全局變量被儲(chǔ)存在靜態(tài)區(qū),而局部變量則被儲(chǔ)存在棧區(qū)。
在C語(yǔ)言中常量有四種:
1.字面常量,如:100,‘v’;
這種常量通常用來給其他操作數(shù)賦值,如:int a=99999; char name='p';
2.define宏定義的標(biāo)識(shí)符常量
如:#define PI 3.1415926;
屬于整個(gè)程序前面的頭文件部分,如果用戶define了一個(gè)常量PI,在后續(xù)整個(gè)程序中PI的值都為3.1415926,是無法被修改的,強(qiáng)行修改編譯器會(huì)報(bào)錯(cuò)
3.const修飾的常變量
如:const int a=100;
值得一提的是這里的a雖然是變量,但卻被const賦予了常量屬性,無法被修改。
4.枚舉常量
enum,也是C語(yǔ)言的關(guān)鍵字之一,定義方式如下
enum sex { male, famale };
總結(jié)
原文鏈接:https://blog.csdn.net/qq_61832209/article/details/122412059
相關(guān)推薦
- 2022-04-17 論一次 taro小程序分包優(yōu)化經(jīng)歷,小程序體積過大的優(yōu)化
- 2022-05-23 Python學(xué)習(xí)之時(shí)間包使用教程詳解_python
- 2022-07-29 Ubuntu中的sudo和su命令介紹_linux shell
- 2022-07-22 springboot登陸前后端及動(dòng)態(tài)菜單
- 2022-10-23 Redis?異常?read?error?on?connection?的解決方案_Redis
- 2022-10-17 Go使用select切換協(xié)程入門詳解_Golang
- 2022-04-18 Python?字典(Dictionary)詳細(xì)介紹_python
- 2022-09-29 DevExpress的DateEdit設(shè)置顯示日期和時(shí)間的方法_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支