计算结构体、数组、指针的sizeof
1. 结构体的sizeof
题目:
sturct aa
{
in num;
char name[10];
};
struct bb
{
int a;
float b;
struct aa c;
};
struct bb a;
计算 sizeof(a) 的值
----------------------
计算过程:
结构体a为bb类型,计算sizeof(a),就是将bb类型中,所有的成员的sizeof求总和。如果有数组,则乘上数组的长度。
所以
1. bb 中a的长度 2(int);
2. bb 中b的长度 4(float);
3. bb 中的c又为结构体,其类型为aa. 其长度为:
num的长度 2(int)
name的长度 为 1 * 10 = 10 (char长度为1)
所以总长度为 2 + 4 + 2 + 10 = 18. 即sizeof(a) =18
==========================================================================
2. 数组和指针
double a;
double *b;
double c[5];
char* pt[3];
char pq[3];
分别计算 a, b , c, pt, pq 的 sizeof
解答:
size(a) = 8;
size(b), 为求指针的sizeof,永远为2;
size(c), 8 * 5 = 40;
size(pt), 首先pt为一个数组,长度为3。并且里面的元素都是指向char的指针。
所以sizeof(pt) = 3 * 2 = 6
sizeof(pq), = 3
计算结构体、数组、指针的sizeof相关推荐
- C 语言结构体数组指针以及函数
结构体数组指针 指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址. 设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第 0个元素,ps+1 指向第一个元素,ps+ ...
- 【结构体】 结构体引用、结构体数组指针、包含结构的结构体
目录 一.概念.变量的定义 初识结构体 结构体变量的定义.引用结构体类型的初始化 二.结构体的数组 认识结构体数组 初始化结构体数组 三.结构体指针 初识结构体指针 指向结构体数组的指针 结构体作为函 ...
- 【c语言】结构体详解 | 结构体数组/指针
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>
- C语言结构体的定义与使用、结构体数组、指向结构体的指针(有代码详解)
1.结构体的定义与使用 结构体是一种构造数据类型 把不同类型的数据组合成一个整体 结构体的定义形式: struct 结构体名{结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数 ...
- 【C语言】结构体指针与结构体数组
目录 一.结构体指针 二.结构体数组 1.结构体数组的定义 2.结构体数组的初始化 3.结构体数组的引用 4.结构体数组指针 一.结构体指针 与一般指针类似结构体也可以使用结构体指针进行引用使用.结构 ...
- C语言结构体指针(指向结构体的指针)详解
当一个指针变量指向结构体时,我们就称它为结构体指针.C语言结构体指针的定义形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: //结构体 struct stu{ cha ...
- C#调用C++DLL传递结构体数组的终极解决方案
在项目开发时,要调用C++封装的DLL,普通的类型C#上一般都对应,只要用DllImport传入从DLL中引入函数就可以了.但是当传递的是结构体.结构体数组或者结构体指针的时候,就会发现C#上没有类型 ...
- c语言结构体函数排序,(为什么不能给分?)结构体数组插入排序的函数有关问题,...
当前位置:我的异常网» C语言 » (为什么不能给分?)结构体数组插入排序的函数有关 (为什么不能给分?)结构体数组插入排序的函数有关问题, www.myexceptions.net 网友分享于:2 ...
- 在函数中利用scanf为结构体数组赋值
结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存 程序当中,编写函数,输入5个学号(int),5个姓名(字符串),5个成绩数 ...
- 【HDU】1305 Immediate Decodability(字典树:结构体数组,二维数组,链表/指针)
一.用的二维数组 #include <iostream> #include <cstring> #include <algorithm> using namespa ...
最新文章
- 如果MySQL引起CPU消耗过大,你会怎么优化?
- 关于路径搜索的算法, 可能用到
- 关于java多态中覆盖的理解
- python 取名字_python 获取如何获取类的名称?
- 8597 石子划分问题 dpdp,只考虑第一次即可
- 【Lolttery】项目开发日志 (三)维护好一个项目好难
- 安卓系统源代码下载(官方教程)
- 【java】httpclient 链接偶尔会 Read timed out
- oracle bucket trace,Frequent generate a lot of cdmp* directories contain *bucket trace in bdump
- sdut 1500 Message Flood(Trie树)
- python从excel中读取数据 写入word_Java调用python脚本,读取excel表格数据并写入word文档-Go语言中文社区...
- 喝酒神器摇骰子小程序源码分享以及搭建效果图
- 五子棋游戏(JavaScript+JQuery+Canvas)
- 小米有品开出全球首家商业旗舰店:加速新零售扩张
- php ajax传悚惧,科学网—对“钱学森之问”的一种解答 - 科学报官微的博文
- Java学习--day02---运算,一些重要的程序
- 英语学习六大ALD有何特色?牛津高阶、朗文当代、柯林斯Cobuild、麦克米伦高阶、剑桥高阶、韦氏高阶的对比
- 华为HCIE云计算培训笔记第4天
- 关于maven仓库存在jar包,工程引用却找不到
- PCI设备的DMA映射操作详解
热门文章
- css outline color,css outline-color属性怎么用
- centos6.5卸载java_删除CentOS6.5系统自带的jdk
- 用不同显卡训练gan的区别_面霜质地这么多,到底哪一种最好用?不同质地面霜有什么区别?...
- java学习_Java编程学习难不难 怎样才能快速入门Java
- 使用nginx实现一个主机部署多域名指向不同docker项目
- Knight Moves
- 201621123058《java程序设计》第二周学习总结
- JAVA面对对象(一)——封装
- 关于JavaScript的浅拷贝和深拷贝
- 2.6.24及以上版本内核裁剪后启动黑屏的解决办法