c 结构体

Posted BlueBerry006

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 结构体相关的知识,希望对你有一定的参考价值。

C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

#include<stdio.h>
#include<malloc.h>
struct Company{
    int peopleNum;
    char *name;
    char *address;
}company;

void printCompany(struct Company *c);

int main(){
    struct    Company c;
    c.name=malloc(100);
    c.name="lisi";
    c.address=malloc(1000);
    c.address="chaoyangmen";
    c.peopleNum=100;
    printCompany(&c);


}


void printCompany(struct Company *company){
    printf("%d\n",company->peopleNum);
    printf("%s\n",company->name);
    printf("%s\n",company->address);
}

结构的储存空间

#include<stdio.h>
struct tp1{
char a;
char b;
int c;
}tpp1;

struct tp2{
char a;
int c;
char b;

}tpp2;

int main(){

printf("%d\n",sizeof(tpp1));
printf("%d\n",sizeof(tpp2));
}

输出结果是
8

12

原因是:结构体占用存储空间,以32位机为例

 

以上是关于c 结构体的主要内容,如果未能解决你的问题,请参考以下文章

分享几个实用的代码片段(第二弹)

分享几个实用的代码片段(第二弹)

如何优化C ++代码的以下片段 - 卷中的零交叉

Golang PrintfSprintf Fprintf 格式化

C 语言关于结构体做参数传递?

C 语言结构体 ( 结构体偏移量计算 | 代码示例 )