0 0

C定义结构类型0

#include <stdio.h>

struct person{
	int age;
	char name[10];
};

void main(){
	struct person zs,ls;
	printf("%d\n",sizeof(zs));
}
 

输出的结果为什么是16呢?不是应该是14吗?

 
2012年6月14日 11:38

1个答案 按时间排序 按投票排序

0 0

采纳的答案

这个就是所谓的字节对齐
你可以试试改 person

struct person{
    int age;
    char name;
};

结果是8

struct person{
    char aaa;
    int age;
    char name;
};
结果是12

结构体的成员变量是顺序存储的
每个成员变量所占的大小都是字节对齐的 是字(4 byte)的整数倍

2012年6月14日 12:09

相关推荐

    用C语言定义线性表的顺序存储结构

    用C语言定义线性表的顺序存储结构 本文将详细介绍使用C语言定义线性表的顺序存储结构,包括顺序存储结构的概念、数组表示、结构体定义、变量定义和使用方法等方面的知识点。 一、顺序存储结构的概念 顺序存储结构...

    python 和C语言数据结构解析于构建

    内容中给出了一段Python代码示例,该示例展示了如何使用`struct`模块对C语言中定义的`struct`数据类型进行打包和发送。 ##### C语言中的`struct`定义 首先,我们来看一下C语言中定义的`struct`类型: ```c typedef ...

    C语言选择结构复习题及答案

    C语言选择结构复习题及答案 C语言选择结构是高职高专考试中的重要考点,本文总结了选择结构的相关知识点,包括选择题、if语句、逻辑运算符、条件表达式、赋值语句等。 1. 已有定义:int x=3, y=4, z=5; 则表达式!...

    C语言的文法定义

    语义分析器会根据C语言文法定义来确定变量的数据类型、函数的参数列表等。 C语言文法定义是C语言编译器的基础,它定义了C语言的语法规则和语义规则。编译器根据C语言文法定义来将源代码转换成机器代码,从而实现...

    c语言数据结构线性表实验(包括顺序表和链表)

    线性表是一种基础且广泛使用的数据结构,它由一系列相同类型的元素按照特定顺序排列组成。在这个"C语言数据结构线性表实验"中,我们将深入探讨两种实现线性表的方法:顺序表和链表。 1. **顺序表**: - **定义**:...

    C语言实现的数据结构笔记

    数据类型是值的集合以及在此集合上定义的一系列操作,包括原子类型和结构类型。抽象数据类型(ADT)是数据结构理论中的重要概念,它将数据和操作封装在一起,实现信息隐藏,有助于提高代码的模块性和可维护性。 ...

    c语言数据结构视频

    在C语言中,可以通过定义一个数组来表示这种结构。例如: ```c int arr[5] = {1, 2, 3, 4, 5}; ``` 这里定义了一个整型数组`arr`,并初始化了前五个元素。数组的索引通常从0开始。 #### 链表 链表是一种线性数据...

    c语言数据结构

    C语言数据结构中介绍的基础知识点十分广泛,涵盖了线性表、链表、堆栈、二叉树等众多数据结构的概念、实现与应用。下面详细解释上述内容中出现的知识点: 1. 线性表的顺序存储结构:线性表是一种最简单、最基本的...

    c语言数据结构(详细实例)

    在C语言中,我们可以通过结构体来定义自定义的数据结构,这使得我们可以创建复杂的数据模型以适应各种算法的需求。 1. **数组**:数组是最基本的数据结构,它是一个相同类型的元素序列。在C语言中,数组可以是一维...

    C语言文法定义

    这篇文法定义主要关注C语言的结构和符号,为理解和编写C程序提供了基础。 首先,我们来了解一下C语言文法的基本元素: 1. **ASCII**:ASCII(美国标准信息交换代码)是计算机中常用的一种字符编码系统,用于表示...

    c语言实现线性表的算法-数据结构算法代码实现——线性表的定义(一) 定义线性表节点的结构.pdf

    本文主要介绍了线性表的定义、特点、抽象数据类型(ADT)和实现方式。线性表是一种最常用的数据结构,由类型相同的n个(n≥0)数据元素组成的有序序列。线性表的特点是数据元素之间存在“一一对应”(序偶关系)的...

    数据结构C语言讲义

    C语言中的数据类型包括原子类型(如int、float、char等)和结构类型。抽象数据类型(ADT)是一种数学模型,它只关注数据的逻辑特性,而不关心具体的实现方式。ADT包括各种常见数据结构,如线性表、栈、队列、树和图...

    c语言函数中的逻辑结构

    【C语言函数中的逻辑结构】在C语言编程中,函数是一种重要的组织代码的方式,它允许我们将复杂的任务分解为更小的、可管理的部分,每个部分都有特定的功能。本课程聚焦于C语言中的函数,旨在帮助学习者理解并掌握...

    严蔚敏数据结构题集(C语言版)完整答案.doc

    数据结构题集(C语言版)完整答案 本资源提供了数据结构题集的完整答案,涵盖了数据结构的基本概念、抽象数据类型、存储结构、数据类型等方面的知识点。下面是对资源中提到的知识点的详细解释: 1. 数据结构的基本...

    2、C语言程序结构.doc

    C语言程序结构知识点大全 一、C语言程序结构概述 ...本文总结了C语言程序结构的知识点,包括变量和数据类型、运算符和表达式、控制结构、函数、数组和字符串、输入输出、指针、结构体和枚举、程序设计和优化等方面。

    C语言数据结构与算法WORD版.rar

    2. **数据类型**:C语言中的基本数据类型包括整型(int)、浮点型(float、double)、字符型(char)以及布尔型(通过typedef定义)。理解不同类型的数据存储方式和范围对编写高效代码至关重要。 3. **指针**:...

    树结构c语言代码

    在C语言中,我们可以通过结构体和指针来实现树的抽象数据类型。这里,"树结构c语言代码"提供的内容可能包括了树的基本操作的实现,如按层遍历、前序遍历、中序遍历和后序遍历。下面将详细解释这些概念以及如何在...

    C语言结构

    结构体是C语言中非常重要的数据结构之一,它可以让我们更好地组织和管理不同类型的数据。通过本篇文章的学习,你应该能够理解如何定义结构体、如何定义和初始化结构体变量,以及如何访问结构体的成员。此外,我们还...

    数据结构模板 (C语言)1

    在定义部分,线性表通常被定义为包含相同类型元素的有序序列。表示部分讨论如何在内存中存储这些元素,通常使用数组。实现部分则涉及插入、删除、查找等操作的具体代码实现,而测试部分则通过具体例子验证这些操作的...

Global site tag (gtag.js) - Google Analytics