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相关推荐

  1. C 语言结构体数组指针以及函数

    结构体数组指针 指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址. 设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第 0个元素,ps+1 指向第一个元素,ps+ ...

  2. 【结构体】 结构体引用、结构体数组指针、包含结构的结构体

    目录 一.概念.变量的定义 初识结构体 结构体变量的定义.引用结构体类型的初始化 二.结构体的数组 认识结构体数组 初始化结构体数组 三.结构体指针 初识结构体指针 指向结构体数组的指针 结构体作为函 ...

  3. 【c语言】结构体详解 | 结构体数组/指针

    创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>

  4. C语言结构体的定义与使用、结构体数组、指向结构体的指针(有代码详解)

    1.结构体的定义与使用 结构体是一种构造数据类型 把不同类型的数据组合成一个整体 结构体的定义形式: struct 结构体名{结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数 ...

  5. 【C语言】结构体指针与结构体数组

    目录 一.结构体指针 二.结构体数组 1.结构体数组的定义 2.结构体数组的初始化 3.结构体数组的引用 4.结构体数组指针 一.结构体指针 与一般指针类似结构体也可以使用结构体指针进行引用使用.结构 ...

  6. C语言结构体指针(指向结构体的指针)详解

    当一个指针变量指向结构体时,我们就称它为结构体指针.C语言结构体指针的定义形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: //结构体 struct stu{ cha ...

  7. C#调用C++DLL传递结构体数组的终极解决方案

    在项目开发时,要调用C++封装的DLL,普通的类型C#上一般都对应,只要用DllImport传入从DLL中引入函数就可以了.但是当传递的是结构体.结构体数组或者结构体指针的时候,就会发现C#上没有类型 ...

  8. c语言结构体函数排序,(为什么不能给分?)结构体数组插入排序的函数有关问题,...

    当前位置:我的异常网» C语言 » (为什么不能给分?)结构体数组插入排序的函数有关 (为什么不能给分?)结构体数组插入排序的函数有关问题, www.myexceptions.net  网友分享于:2 ...

  9. 在函数中利用scanf为结构体数组赋值

    结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存 程序当中,编写函数,输入5个学号(int),5个姓名(字符串),5个成绩数 ...

  10. 【HDU】1305 Immediate Decodability(字典树:结构体数组,二维数组,链表/指针)

    一.用的二维数组 #include <iostream> #include <cstring> #include <algorithm> using namespa ...

最新文章

  1. 如果MySQL引起CPU消耗过大,你会怎么优化?
  2. 关于路径搜索的算法, 可能用到
  3. 关于java多态中覆盖的理解
  4. python 取名字_python 获取如何获取类的名称?
  5. 8597 石子划分问题 dpdp,只考虑第一次即可
  6. 【Lolttery】项目开发日志 (三)维护好一个项目好难
  7. 安卓系统源代码下载(官方教程)
  8. 【java】httpclient 链接偶尔会 Read timed out
  9. oracle bucket trace,Frequent generate a lot of cdmp* directories contain *bucket trace in bdump
  10. sdut 1500 Message Flood(Trie树)
  11. python从excel中读取数据 写入word_Java调用python脚本,读取excel表格数据并写入word文档-Go语言中文社区...
  12. 喝酒神器摇骰子小程序源码分享以及搭建效果图
  13. 五子棋游戏(JavaScript+JQuery+Canvas)
  14. 小米有品开出全球首家商业旗舰店:加速新零售扩张
  15. php ajax传悚惧,科学网—对“钱学森之问”的一种解答 - 科学报官微的博文
  16. Java学习--day02---运算,一些重要的程序
  17. 英语学习六大ALD有何特色?牛津高阶、朗文当代、柯林斯Cobuild、麦克米伦高阶、剑桥高阶、韦氏高阶的对比
  18. 华为HCIE云计算培训笔记第4天
  19. 关于maven仓库存在jar包,工程引用却找不到
  20. PCI设备的DMA映射操作详解

热门文章

  1. css outline color,css outline-color属性怎么用
  2. centos6.5卸载java_删除CentOS6.5系统自带的jdk
  3. 用不同显卡训练gan的区别_面霜质地这么多,到底哪一种最好用?不同质地面霜有什么区别?...
  4. java学习_Java编程学习难不难 怎样才能快速入门Java
  5. 使用nginx实现一个主机部署多域名指向不同docker项目
  6. Knight Moves
  7. 201621123058《java程序设计》第二周学习总结
  8. JAVA面对对象(一)——封装
  9. 关于JavaScript的浅拷贝和深拷贝
  10. 2.6.24及以上版本内核裁剪后启动黑屏的解决办法