首页 > 其他分享 >C语言八股

C语言八股

时间:2023-08-21 17:07:49浏览次数:38  
标签:八股 变量 成员 联合体 内存空间 C语言 大小

数据结构:

结构体与联合体的区别?

结构体每个成员变量的内存都是独立的,联合体的成员变量的内存空间存在覆盖的情况

一个结构体的大小,也就是用sizeof运算符得到的结果,是每个成员变量的大小进行对齐并填充字节之后的总的大小。

联合体的大小则是其中一个占用内存空间最大的成员变量的大小,内存占用是共享的,不适合需要同时对多个成员变量进行使用的场景。

 

标签:八股,变量,成员,联合体,内存空间,C语言,大小
From: https://www.cnblogs.com/synapse331/p/17646497.html

相关文章

  • linux操作系统八股
    C++分配内存的方式:newdeletemallocfree、placementnew数组new跟delete   程序空间布局管理:这些是站在最理想情况的程序员设计角度来谈的栈mmap堆BSS数据段TEXT段 讲讲malloc是C库函数,底层会调用brk跟mmap两种系统调用,缺省值是128kb,也就是说小于128kb的时候......
  • C语言笔记 - “%”符号的用法
    1、%-运算符%表示取模运算,也就是取余数。例如6%4=22、%-引导符/占位符引导符用于控制输入输出的格式。常见于printf("%d",a);scanf("%d",&a);语句。%s - 字符串 (String)%c - 字符 (Char)%d - 十进制有符号型输出 (Decimal)①%6d整数输出,宽度是6位,不足左边补......
  • 数据结构与算法八股
    讲一讲插入排序讲一讲冒泡排序讲一讲快速排序讲一讲堆排序讲一讲归并排序 dpdp数组的定义及含义:dp[num1.length+1][num2.length+1],为什么要+1呢,因为我们要判断他与前面的关系涉及到i-1,所以遍历需要从1开始return的是什么如果初始化时候size+1了,那么最后一个下标就是size......
  • 计算机萌新的成长历程——初识C语言3
    今天我将继续分享数据类型的相关内容,本篇的主要内容将围绕short/int/long/longlong——整型数据类型的区别。在介绍他们的区别前,首先我们要先了解计算机中的单位,计算机的单位有以下几种单位:bit——比特位,计算机中最小的单位,1个比特位只能存放一个“1”或一个“0”byte——字节,1字......
  • C语言转义字符详解
    定义是以\开头的字符序列常用作用\n 换行\r  回到本行开头继续输出内容(原内容会被覆盖)\b 使光标左移一个位置\t  相当于四个空格\v 换到下一行继续输出\'  输出‘\" 输出“\ddd1~3位八进制数字,会自动转换成十进制的ascll码的对应字符\xhh 1~2......
  • C语言 笔记 1
    指针有什么用?场景A通过函数交换两个变量的值eg.交换变量a,b的值intswap(int*a,int*b){ inttemp=0; temp=*a; *a=*b; *b=temp;}场景B返回结果有多个,或return返回状态,指针返回结果intdivide(inta,intb,float*res){ intret=1; if(b!=0){ *res......
  • C语言 笔记2
    枚举常量符号化我们可以用下面代码将常量符号化constintred=0;constintyellow=1;constintblue=2;用枚举可以简写成enum=colors{red,yellow,blue};此时,red=>0,yellow=>1,blue=>2枚举枚举是一种用户定义的数据类型,他用关键词enum以如下语法来声明......
  • C语言 笔记4
    全局变量定义在函数外部的变量是全局变量。全局变量具有全局的生存期和作用域全局变量与任何函数都无关在任何函数内部都可以使用全局变量不能使用变量给全局变量初始化不初始化的全局变量默认为NULL函数内的同名变量会隐藏全局变量inta=1;{ inta=2; { in......
  • C语言 笔记3
    可变数组设计一个Array库,提供数组初始化,数组数据查看和修改的功能,且数组大小可变。array.h/*可变数组*///array_block,每次触发自动增长时增长的数量,记作一个array_block#defineARRAY_BLOCK10typedefstruct{intsize;int*array;}Array;Arrayarr......
  • C语言 笔记5
    格式化输入输出输入-printfprintf("%[flags][width][.prec][hlL]type...",参数表...);返回值输出的字符数flagFlag含义-左对齐+给一个正数强制加一个+号(space)正数留空0左边补零,不能和左对齐同时使用width和precwidth含义number......