【sizeof()的使用方式】简洁明了初识C语言

sizeof()介绍

sizeof其实仅仅只是一个操作符,我们要注意它并不是一个函数,他就类似与常见的+、=、-......的操作符,并且sizeof是一个单目操作符。sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数。

sizeof()用于数据类型

我们在初学C语言时,就已经知道了sizeof可以计算各种数据类型的所占的存储空间。例如,回忆一下以下代码:

cs 复制代码
#include <stdio.h>
int main()
{
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(char));
	printf("%d\n", sizeof(short));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(long long));
	printf("%d\n", sizeof(double));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(long double));

	return 0;
}

运行出来的结果为(不同的计算器运行的结果部分不同):

4

1

2

4

8

8

4

8

sizeof()用于变量

我们可以看一下下面的例子:

cs 复制代码
#include <stdio.h>
int main()
{
	int a = 5;
	int b = 10;
	int arr[] = { 1,2,3,4 };

    printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(b));
	printf("%d\n", sizeof(arr));
	
	return 0;
}

运行的结果为:

4

4

16

sizeof()计算元素个数

用整个数组的sizeof去除以一个元素的sizeof。

数组的长度 =数组所占的大小/ 单个数组元素所占的大小

cs 复制代码
#include<stdio.h>
int main()
{
    int arr[] = {1,2,3,4,5,6};
    int len = sizeof(arr)/sizeof(arr[1]);
    printf("%d\n", len);
    return 0;
}

运行的结果为:

6

相关推荐
Y4090011 小时前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
棐木9 小时前
【C语言】动态内存管理
c语言·free·malloc·realloc·calloc·动态内存
屁股割了还要学13 小时前
【C语言进阶】内存函数
c语言·开发语言·学习·算法·青少年编程
耳总是一颗苹果13 小时前
C语言---自定义类型(上)(结构体类型)
c语言·开发语言
basketball61617 小时前
Linux C 进程基本操作
linux·运维·服务器·c语言·后端
草莓熊Lotso18 小时前
【LeetCode刷题指南】--数组串联,合并两个有序数组,删除有序数组中的重复项
c语言·数据结构·其他·刷题
平哥努力学习ing18 小时前
C语言内存函数
c语言·开发语言·算法
wenke00a18 小时前
C函数实现strcopy strcat strcmp strstr
c语言·前端
慕洋男孩19 小时前
错误经验一:计算两个整数a和b的和
c语言·经验分享·错误经验
小xiao白21 小时前
不能使用枚举作为 宏定义的定义
c语言·ide·单片机·物联网