C语言中,不同类型的数据在内存中的存储方式是由编译器和计算机架构共同决定的。下面是一些常见的C数据类型及其在内存中的存储方式:
基本数据类型:
char:通常占用1个字节的内存空间,存储为有符号整数。
int:通常占用4个字节的内存空间,存储为有符号整数。
float:通常占用4个字节的内存空间,以IEEE 754标准表示浮点数。
double:通常占用8个字节的内存空间,以IEEE 754标准表示浮点数。
数组和指针:
数组:在内存中按照连续的方式分配存储空间,数组元素之间的距离为数组元素的大小。
指针:存储一个变量或数据的内存地址。指针的大小与机器的位数相关。
结构体和联合体:
结构体:在内存中按照成员定义的顺序依次存储,每个成员根据其大小进行对齐。
联合体:所有成员共享同一块内存空间,但只能同时存储一个成员。
枚举类型:
枚举类型的大小通常与int类型相同,根据编译器的实现可能有所不同。(查找资料)
还有关于输入输出要注意的点:
if语句括号后不能加;;
=为赋值,==为等于。
运用float类型查找最大值,最小值时:
#include<stdio.h>
int main()
{
float a[1000],max,min;
int n;
scanf("%d",&n);
for(int i=0;i<=n-1;i++)
{
scanf("%f",&a[i]);
max=min=a[0];
}
for(int i=0;i<10;i++)
{
if(max>a[i])
max=a[i];
if(min<a[i])
min=a[i];
}
printf("%.2f %.2f",min,max);
return 0;
}
需要注意的是:输出要保留两位小数应为%.2f,而非%f。