数组在内存中所占字节数可以使用sizeof操作符来计算,该操作符是专门用于检测类型或变量或数组在内存中所占有的空间(字节数);语法“sizeof(x)”,其中x是类型名、变量名或数组名等,可以返回x所占字节数。

C语言中计算一个数组占内存多少空间(字节数)

C语言中有一个专门用于检测类型或变量或数组在内存中所占有的空间(字节数)的操作符sizeof,用它可以直接检测出数组在内存占有的字节数。

sizeof(x);

//识别没有歧义时也可写成:

sizeof x;

参数:x是类型名、变量名或数组名等,

返回值:返回x所占字节数(int型)。

以下代码可以帮助理解:

#include "stdio.h"

struct X{

int d;

float t;

double b;

char n[100];

};

int main(int argc,char *argv[]){

int a[]={1,2,3,4,5,6,7,8,9,10};

double y=3.1415926;

struct X t[3]={{0,0.0f,0.0,""},};//结构体数组属复杂类型

printf("10 elements of int array needs %d bytes.\n",sizeof a);//检测整型数组

printf("Double variables of type need %d bytes.\n",sizeof(y));//double类型变量

printf("Type float need %d bytes.\n",sizeof(float));//float类型

printf("Structure array 't[3]' need %d bytes.\n",sizeof t);//检测复杂类型

return 0;

}

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

C语言中数组所占字节怎么算相关推荐

  1. c语言数组所含字节数,(C语言)数组所占字节怎么算?

    在C语言中,可以使用sizeof操作符来计算数组所占字节.sizeof操作符是专门用于检测类型或变量或数组在内存中所占有的空间(字节数)的,用它可以直接检测出数组在内存占有的字节数. C语言中有一个专 ...

  2. c语言字符数组所占字节数,字符串所占字节数分析

    string与strlen 字符串赋值的时候会不会在末尾自动添加'\0'? char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因. '\t' 是一个 ...

  3. 如何确定C语言中数组的大小?

    如何确定C语言中数组的大小? 也就是说,数组可以容纳多少个元素? #1楼 如果您要处理未作为参数接收的数组,则sizeof方法是正确的方法. 作为参数发送给函数的数组被视为指针,因此sizeof将返回 ...

  4. C语言中数组首地址和数组第一个元素的地址有什么区别

    C语言中数组首地址和数组第一个元素的地址关系如下: 1.它们的地址值是相等的. 2.第1个元素的地址如果是p,则p+1就是第2个元素的地址. 3.数组的首地址如果是p,则p+1就跳过这个数组而指向这个 ...

  5. c语言中数组的定义与应用

    定义方法: 类型  变量名[元素个数]: 比如: int  a[6]; char b[24]; double c[3]; 注意,c语言中数组的元素个数是不能动态定义的(修改:在c99中已经可以了) 也 ...

  6. c语言中数组长度的计算

    c语言中数组长度的计算 一维数组 计算数组的长度:       sizeof(数组名):得到这个数组占用内存的总长度       公式: sizeof(数组名) / sizeof(数组类型); 二维数 ...

  7. 从编译器角度分析C语言中数组名和指针的区别

    从编译器角度分析C语言中数组名和指针的区别 数组名和指针是两个往往很容易让人们混淆的概念,很多人以为数组名就是一个指针,也有很多人知道数组名不同于指针但是仅知道数组名的值不能像指针一样改变. 例如你可 ...

  8. c语言中数组的变量j是什么,c语言中数组,一般数组

    c语言中数组,一般数组. 1.什么是数组,数组有什么用? 为了方便处理而把类型相同的变量有序地组织起来的一种形式. 类型相同的元素集中起来,在内存上排成一条直线. 2.数组的声明. 元素类型.变量名和 ...

  9. C语言中数组的排序算法详解——选择法、冒泡法、交换法、插入法、折半法

    选择法排序 选择法排序是指:如果要把一个数组从小到大排列,那么就从该数组中依次选择最小的数字来排序.从第一个数字开始,将第一个数字与数组中剩下数字中最小的那一个交换位置,然后将第二个数字与剩下数字中最 ...

最新文章

  1. php请求aspx,PHP用curl函数POST请求到ASP页面提示无效请求
  2. 什么是html的混杂模式_HTML的完整形式是什么?
  3. EIGRP的基本配置
  4. 如果你也在学python,准备要学习python,希望这篇文章对你有用。
  5. html做换装游戏,index.html
  6. Codeforces Is your horseshoe on the other hoof?
  7. CPU使用率100%怎么办
  8. 如何理解API?API 是如何工作的?(5分钟诠释)
  9. ECharts3D环型图,设置某一部分弧度的高度
  10. 计算机网络杨庚第一章答案,《计算机通信与网络》习题答案
  11. 2022-8-3----Android10.0(MTK)-----SN_Writer 写入 SN 注意事项
  12. 【Android】程序包com.github.chrisbanes.photoview不存在
  13. symfony3.4文档
  14. Uber Go 风格指南中文版
  15. 当时若爱韩公子,埋骨成灰恨未休
  16. 开发工具 - 离线安装VS code插件
  17. 人工智能往哪个方向发展有前途?计算机视觉还是自然语言处理?
  18. 系统分析技术简单介绍
  19. c语言如何让字母右对齐,C语言中可以用指定输出宽度的方式实现右对齐。
  20. 初中微型计算机基础评课,初中语文听课评语

热门文章

  1. 每个人都在谈论硒替代品-明智地选择!
  2. 反模式设计_设计模式:模式或反模式,这就是问题
  3. 使用混合多云每个人都应避免的3个陷阱(第3部分)
  4. groovy 2.5.4_Java 7 vs Groovy 2.1性能比较
  5. 同步器 java_您可能不知道的五个高级Java同步器
  6. 基于Spring的应用程序-迁移到Junit 5
  7. 最好的Java开发人员测试和集成工具
  8. Spring MVC中@RequestParam和@PathVariable批注之间的区别?
  9. javaone_JavaOne 2012:观察与印象
  10. Java在几乎所有方面都可以胜任本机响应