C语言的数据类型和变量

本文详细介绍了C/C++编程中的数据类型(有符号、无符号、内置、自定义),包括数组、结构体、枚举和联合体。讲解了sizeof操作符用于测量数据类型长度,以及变量的创建、分类和内存区域(栈、堆、静态区)。还讨论了全局变量、局部变量和栈帧的概念。

1.0数据类型

1.0.0数据类型分类

【signed 有符号 有正负   unsigned 无符号 只有0和正整数】

ps  int = signed int

      char 默认由系统决定 signed char -取值范围:  -128-127   

                                        unsigned char - 取值范围: 0-255

      

1.0.1内置类型(直接可以使用、自带)

(1)字符型( ' '  char )

(2)整型(描述整数 int  默认signed

short [ int ] 短整型

int 整型

long [ int ] 长整型

long long [ int ] 长长整型

(3)浮点型(小数)

float 单精度浮点型

double 双精度浮点型

long double

(4)布尔类型(描述真和假  (bool)   _Bool=true/false)

头文件  <stdbool.h>

1.0.2自定义数据类型

1.数组
2.结构体-struct
3.枚举-enum
4.联合体-union

1.0.1测量数据类型长度

1.计算机中常见单位

1024 = 2^10

bit -比特位 - 1个比特位存储一个二进制位(0/1)

Byte -字节- 1个Byte= 8个bit

KB - 1KB =1024 Byte

MB - 1MB =1024 KB

GB - 1GB = 1024 MB

TB - 1TB =1024 GB

 PB - 1PB = 1024 TB

······

2.常见数据类型所占存储空间

数据类型 \ 不同编译器16位编译器32位编译器64位编译器
char1 Byte
char*2 Byte4 Byte8 Byte
short int2 Byte
int2 Byte4 Byte
unsigned int2 Byte4 Byte
float4 Byte
double8 Byte
long4 Byte8 Byte
long long8 Byte
unsigned long4 Byte8 Byte
..............

3.sizeof操作符

sizeof(类型) /   sizeof 变量

ps:sizeof 里表达式不运算 == 此表达式不会影响程序结果

单位:字节

返回值:无符号数字

sizeof计算结果:size_t类型  - 只规定为无符号整数 无具体类型

2.0变量

2.0.0变量的创建

1.格式: 数据类型 变量名称

2.变量名称:变量名有意义 且只能是由字母 数字 下划线组成 不能数字开头

3.ppppps: 变量只是在该作用范围内使用

ppppps:变量切记要初始化!

int main()
{
int a=0;
char b='\0';
float c=0;
return 0;
}

2.0.1变量的分类

推测下列代码运行结果


#define PI 3.14
#define str "圆周率为"
int main()
{
	int a = 2;
	{
		int a = 3;
		printf("a1=%d\n", a);
		printf("%s %f\n",str,PI);
	}
	printf("a2=%d\n", a);
	return 0;
}

运行结果

1.全局变量:在{ }外定义  整个工程中都可以使用

2.局部变量:在{ }内定义

pppppps  :  局部变量与全局变量名称相同时 局部优先

eg. 上述代码中的 变量a 

3.内存分类

(1)栈区 :局部变量 形式参数 函数栈帧空间

(2)堆区 :动态内存管理 ( malloc  calloc realloc free)

(3)静态区:全局变量 静态变量

名 词 解 释

栈 :

是一种数据结构 只能在一端进行插入和删除操作 (按先进后出的原则存储数据)

压 栈 (push):在栈中存放数据从低到高     我理解为函数递归中的递推过程

  高地址

出 栈 (pop):拿出栈中的数据       我理解为函数递归中的回归过程

栈 帧

1.每个未运行完的函数都有一个对应的栈帧

2.栈帧保存了函数的返回地址和局部变量

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练与应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化与训练,到执行分类及结果优化的完整流程,并介绍了精度评价与通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者与实践者。; 使用场景及目标:①在遥感影像中自动识别提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程与关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优与结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置与结果后处理环节,充分利用ENVI Modeler进行自动化建模与参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值