当前位置: 首页 > news >正文

网站开发路线廊坊网站搜索优化

网站开发路线,廊坊网站搜索优化,有什么免费企业网站是做企业黄页的,软件学校网站模板下载一、sizeof 介绍 sizeof 是 C 语言中的一个运算符,用于计算数据类型或变量在内存中占用的字节数。用于计算数据类型或变量所占的内存大小,以字节为单位。它可以在编译时计算其操作数的大小,并返回一个 size_t 类型的值。它可以帮助了解不同类…

一、sizeof 介绍

sizeof 是 C 语言中的一个运算符,用于计算数据类型或变量在内存中占用的字节数。用于计算数据类型或变量所占的内存大小,以字节为单位。它可以在编译时计算其操作数的大小,并返回一个 size_t 类型的值。它可以帮助了解不同类型的数据在内存中的布局,从而更有效地管理内存。

代码示例:

#include <stdio.h>  int main(void) 
{  int a = 10;  float b = 5.75;  char c = 'A';  double d = 9.99;  printf("Size of int: %zu bytes\n", sizeof(int));  printf("Size of float: %zu bytes\n", sizeof(float));  printf("Size of char: %zu bytes\n", sizeof(char));  printf("Size of double: %zu bytes\n", sizeof(double));  printf("Size of variable a: %zu bytes\n", sizeof(a));  printf("Size of variable b: %zu bytes\n", sizeof(b));  printf("Size of variable c: %zu bytes\n", sizeof(c));  printf("Size of variable d: %zu bytes\n", sizeof(d));  // 使用表达式  printf("Size of expression a + b: %zu bytes\n", sizeof(a + b)); // 结果为 float 类型大小  return 0;  
}

测试结果输出(可能因编译器和平台而异):
在这里插入图片描述

数组和结构体示例代码:

#include <stdio.h>  struct Example 
{  char c;  int i;  double d;  
};  int main(void) 
{  int arr[10];  struct Example ex;  printf("Size of array arr: %zu bytes\n", sizeof(arr)); // 10 * sizeof(int)  printf("Number of elements in array arr: %zu\n", sizeof(arr) / sizeof(arr[0]));  printf("Size of struct Example: %zu bytes\n", sizeof(ex));  return 0;  
}

示例运行结果:
在这里插入图片描述

注意事项
1、编译时计算:sizeof 是在编译时计算的,而不是运行时。因此,它不会增加程序的运行时间开销。
2、类型大小:不同编译器和平台可能会因为对齐和填充的原因,导致相同类型的数据大小不同。例如,在 32 位系统上,int 通常是 4 字节,但在某些 16 位系统上可能是 2 字节。
3、数组大小:使用 sizeof 可以方便地计算数组的总大小。例如,sizeof(array) / sizeof(array[0]) 可以计算数组的元素个数。
4、结构体:对于结构体,sizeof 会计算所有成员的大小,并考虑对齐和填充。

二、sizeof计算数组名、 数组首地址、数组的元素

对于数组来说,sizeof 的使用有一些特殊的行为,特别是当它与数组的首地址和数组的第一个元素进行比较时。

2.1 sizeof 数组名

当对数组名使用 sizeof 操作符时,它会返回整个数组所占的内存大小。例如:

int arr[10];  
printf("%d\n", sizeof(arr));  // 输出 40,假设 int 大小为 4 字节

在这个例子中,sizeof(arr) 返回的是整个数组 arr 的大小,即 10 * 4 = 40 字节。

2.2 sizeof 数组首地址(或数组名作为指针)

在C语言中,数组名在大多数表达式中为指向数组第一个元素的指针。当对数组名(作为指针)使用 sizeof 时,它实际上计算的是指针的大小,而不是数组的大小。例如:

int arr[10];  
printf("%d\n", sizeof(&arr));  // 输出 指针大小,通常是 4 或 8 字节,取决于平台  
printf("%d\n", sizeof(&arr[0]));  // 同样输出 指针大小

在这个例子中,sizeof(&arr) 和 sizeof(&arr[0]) 都是计算指针的大小,而不是数组的大小。&arr 是指向整个数组的指针(类型为 int ( * )[10]),但在这里它作为 void * 或其他指针类型传递给 sizeof,所以结果是指针的大小。而 &arr[0] 是指向数组第一个元素的指针(类型为 int* ),结果同样是指针的大小。

2.3 sizeof 数组的某个元素

当对数组的某个元素使用 sizeof 时,它返回的是该元素的大小。例如:

int arr[10];  
printf("%d\n", sizeof(arr[0]));  // 输出 4,假设 int 大小为 4 字节

在这个例子中,sizeof(arr[0]) 返回的是数组第一个元素(也是第0个元素)的大小,即 4 字节。
测试代码:

#include <stdio.h>int main(void)
{static unsigned char pre_status[3]={0};printf("sizeof(pre_status)=%ld \n",sizeof(pre_status));printf("sizeof(&pre_status)=%ld \n",sizeof(&pre_status));printf("sizeof(&pre_status[0])=%ld \n",sizeof(&pre_status[0]));printf("sizeof(pre_status[0]=%ld \n",sizeof(pre_status[0]));printf("sizeof(pre_status)/sizeof(pre_status[0]) = %ld \n",sizeof(pre_status)/sizeof(pre_status[0]));return 0;
}

测试结果:

在这里插入图片描述

总结:
1、sizeof(数组名) 返回整个数组的大小。
2、sizeof(&数组名) 或 sizeof(&数组名[0]) 返回指针的大小。
3、sizeof(数组名[0]) 返回数组第一个元素的大小。

http://www.yayakq.cn/news/859551/

相关文章:

  • 宜兴建设局 网站做网站资讯
  • 中江县规划和建设局网站龙岩全网搜系统开发
  • 网站建设主要包括那些部分网站设计ai
  • 建立网站的步骤筝晃湖南岚鸿官网个人简历免费制作网站
  • 做产品宣传网站多少钱wordpress主菜单导航插件
  • 新乡网站建设开发深泽网站制作
  • 台山网站定制软件外包
  • 长沙网站优化排名推广郑州网络推广培训
  • 青岛西海岸新区城市建设局网站域名优惠
  • 鞍山建设集团网站手机网站免费
  • 做文化墙的网站网站互动性
  • 网站怎样备案wordpress插件安装本地安装教程
  • wordpress建的大型网站吗免费做爰小说网站
  • 克拉玛依建设局网站空包网站建设属于哪类
  • 网站推广怎么弄网站登录按纽是灰色的
  • 微信网站界面wordpress私密评论
  • 北京网站设计公司jx成都柚米科技15久产久人力有限公司
  • 外包做网站不满意有没有做外贸免费网站
  • 网站备案需要资料建设品牌网站的好处
  • 手机网站怎么做SEO优化竞价开户公司
  • 淘宝客怎么做推广网站在招聘网站做电话销售怎么样
  • 用dw做网站的代码无货源一键铺货软件
  • 大理石在哪些网站做宣传软件开发专业专科学校
  • 网站seo的方法首都航空公司官方网站
  • 垫江网站建设费用模板网字体库免费
  • 怎样建设网站瓯北网站建设
  • 金融投资网站方案wordpress系统api接口
  • 网站空间怎么购买大连网站维护
  • 厦门同安区建设局网站企业邮箱怎么注册?
  • 网上怎样做电缆网站免费正版高清素材库