首页 > 其他分享 >22-11-11学习记录

22-11-11学习记录

时间:2022-11-13 15:31:59浏览次数:52  
标签:11 struct 22 记录 int stu printf 对齐 zd

1,memcpy:内存拷贝(处理内存不重叠情况)

2,memmove:内存拷贝(处理内存重叠情况)

3,memset:内存设置  void *memset( void *dest, int c, size_t count );

dest:目的地   c:存放的字符  count:操作的字节大小

4,结构体内存对齐规则:

1)第一个成员在与结构体变量偏移量为0的地址处

2)其他成员要对其到对齐数的整数倍地址处

对齐数:编译器默认的一个数与该成员大小的较小值

3)结构体大小为最大对齐数的整数倍

4)如果嵌套了结构体,嵌套的结构体对齐到自己最大对齐数的整数倍初,结构体整体大小为最大对齐数(含嵌套结构体的对齐数)的整数倍


#include<stdio.h>
#include<assert.h>
struct stu
{
char c1;
double c2;
};
int main()
{
struct stu c;
printf("%zd", sizeof(c));
return 0;
}

输出为16

设置对齐数  #pragma pack(4)  {默认对齐数为4)

取消对齐数 #pragma pack()   {()内不填}

#include<stdio.h>
#include<assert.h>
#pragma pack(4)
struct stu
{
char c1;
double c2;
};
#pragma pack()
int main()
{
struct stu c;
printf("%zd", sizeof(c));
return 0;
}

输出为12

5,offsetof:计算结构体成员的偏移量      size_t offsetof( structName, memberName );

#include<stdio.h>
#include<stddef.h>
struct stu
{
char c1;
int i;
double c2;
};
int main()
{
struct stu c;
printf("%zd\n",offsetof(struct stu, c1));
printf("%zd\n",offsetof(struct stu, i));
printf("%zd\n",offsetof(struct stu, c2));
return 0;
}

输出0    4     8








标签:11,struct,22,记录,int,stu,printf,对齐,zd
From: https://blog.51cto.com/u_15815270/5847757

相关文章

  • 223201062521黄宇轩 223201062523李凌桦 实验二结对项目
    沈阳航空航天大学  软  件  工 程 基 础实验报告 实验名称:实验二实验题目:结对项目   专   业软件工程学   号223......
  • 2022-2023-1 20221419 《计算机基础与程序设计》第11周学习总结
    2022-2023-120221419《计算机基础与程序设计》第11周学习总结作业信息班级:[2022-2023-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2022-2023-1-CFA......
  • 【题解】CSP-S2022 T2策略游戏
    简要题意有两串数A[1 n],B[1 m]A[1 n],B[1 m],有两个人小L和小QL和小Q,给出q组l1,r1,l2,r2q组l1,r1,l2,r2,对于每组,小L在A[l1 r1]A[l1 r1]中取一数x,小Q在B[l2 r2]B[l2......
  • 11.盛最多水的容器
    给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i,0) 和 (i,height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可......
  • CSP-J2022题解
    CSP-J2022题解T1乘方思路非常简单,直接for循环上就行了。为什么不会炸呢?因为就算a=1e9,乘两次也炸不了longlong。代码#include<cstdio>longlonga,n,ans=1;intmai......
  • 223201062507 王静怡 223201062506 王靖榕-软件工程基础Y-实验二结对项目
    沈阳航空航天大学  软 件 工 程 基 础实验报告 实验名称:实验二实验题目:结对项目   专   业软件工程学   号22320......
  • 2022/11/12 模拟测题解
    2022/11/12模拟测题解A考场上推了一下,发现这个玩意挺有意思。一共有\((n+1)(m+1)\)个字符串,减去相同的个数,即可。这个相同的个数还是很好统计的,且这里指的相同仅仅是......
  • 11.13.2
    #include<stdio.h>intsc(intx,intarr[]);intmain(){ intn,i;intarr[100];scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&arr[i]);}sc(n,arr); return0;......
  • 记录美化Windows Terminal
    通过OhMyPosh来自定义PowerShell,以提供Git状态提示符,再对WindowsTerminal美化,得到一个优秀的终端体验。获取PowerShellWindows自带的PowerShell是5.x版......
  • CodeForces - 1187E Tree Painting
    题意:给出一棵树,最开始所有节点都是白的。进行一些操作来计算树的价值。每次操作可以选一个节点,给价值加上包括这个结点在内的白色连通块大小。然后把这个结点染成黑色。除......