c语言中结构体的定义:

struct 结构体名{

成员列表;

.....

}结构体变量;

7.1.1 结构体类型变量的定义
结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分别介绍如下:
1) 先定义结构体类型,再定义结构体类型变量:
struct stu / *定义学生结构体类型* /
{
char name[20]; / * 学生姓名* /
char sex; / * 性别* /
long num; / *学号* /
float score[3]; / * 三科考试成绩* /
};
struct stu student1,student2;/ * 定义结构体类型变量* /
struct stu student3,student4;
用此结构体类型,可以定义更多的该结构体类型变量。
2 ) 定义结构体类型同时定义结构体类型变量:
struct data
{
int day;
int month;
int year;
} time1,time2;
也可以再定义如下变量:
struct data time3,time4;
用此结构体类型,同样可以定义更多的该结构体类型变量。
3) 直接定义结构体类型变量:
struct
{
char name[20]; / *学生姓名* /
char sex; / *性别* /
long num; / *学号* /
float score[3]; / *三科考试成绩* /
} person1,person2; / *定义该结构体类型变量* /
该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量

C++

typedef struct Node{

int data;

struct LNode *next;

}LNode,*LinkLIst;

在c里,如果要定义一个Node,需要用struct Node来定义 这是c++,直接用Node来定义就可以 后面的LNode是Node的别名,c++中跟Node效果一样,声明对象时可以用Node node和LNode node 。

LinkList表示Node *,指Node的指针声明,LinkList list和Node *list效果一样 如果不加typedef,表示的是分别声明Node LNode和Node *LinkList,声明一个对象,一个指针

C /C ++中结构体的定义的更多相关文章

  1. c语言中结构体的定义、初始化及内存分配

    #include <stdio.h> struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数 ...

  2. C C++ 中结构体与类

    先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错 1>d:\myproject\visual studio 2013\projects\myc++\main.c(71 ...

  3. C语言中结构体赋值问题的讨论

    今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...

  4. OC中结构体作为对象属性

    在OC中结构体有时候也作为对象的属性 类的定义 #import <Foundation/Foundation.h> typedef struct{ int year; int month; ...

  5. C#中结构体与字节流互相转换

    1.定义与C++对应的C#结构体 在c#中的结构体不能定义指针,不能定义字符数组,只能在里面定义字符数组的引用. C++的消息结构体如下: //消息格式 4+16+4+4= 28个字节 struct ...

  6. Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数

    知识点 基本概念 结构体的基本使用 结构体构造器(构造函数/构造方法) 结构体扩充函数(方法), 又称成员方法 结构体是值类型 1. 基本概念 1.1 概念介绍 结构体(struct)是由一系列具有相 ...

  7. C语言中结构体对齐问题

    C语言中结构体对齐问题 收藏 关于C语言中的结构体对齐问题 1,比如: struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B; ...

  8. 关于C语言中结构体中的结构体成员导致的字节对齐问题

    关于结构体的字节对齐是什么,就不赘述,再此附上一篇文章,介绍字节对齐:http://www.linuxsong.org/2010/09/c-byte-alignment/ 这里的结构体字节对齐的数据类 ...

  9. C语言中结构体參数变量的传递

    [文章摘要] 在C语言中,结构体參数变量常常作为函数的參数来进行传递.但假设參数设置不当.会出现内存问题. 本文以实际的程序代码为例.具体地介绍怎样正确地使用结构体參数变量.为相关的开发工作提供了參考 ...

随机推荐

  1. android抓包工具——使用fiddler4在安卓手机抓包

    Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包 ...

  2. js彈出層或者js彈出引用url Frame 層

    function Popup() { var _this = this; this.CssName = "layermask";//樣式 //遮蓋層 this.hiddLayer ...

  3. Python 变量类型和运算符

    -*- coding:utf-8 -*- ''' if语法 if conditon: [tab键] command [tab键] command ... else: [tab键] command [t ...

  4. 关于Cocos2d-x中节点的获取

    方法一: 1.在.h文件的属性里面先声明要使用的节点或者变量. private: Label *scorelabel; 2.在.cpp文件中创建并使用这个节点或者变量. scorelabel = La ...

  5. e681. 基本的打印程序

    Note that (0, 0) of the Graphics object is at the top-left of the actual page, outside the printable ...

  6. Zookeeper leader选举

    让我们分析如何在ZooKeeper集合中选举leader节点.考虑一个集群中有N个节点.leader选举的过程如下: 所有节点创建具有相同路径 /app/leader_election/guid_ 的 ...

  7. APACHE服务器500错误解决方法

    1.APACHE没开启rewrite模块. 解决办法:编辑apache的http.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so, ...

  8. 创建SQL语句_面试

    创建一个表:create table if not exists Teachaers(tea_id integer  primary key autoincrement,tea_name text,t ...

  9. 文件名中含有连续字符abc,相应文件中也含有字符串abc

    find ./ -name '*abc*' -exec grep 'abc' {} -H \; find ./ -name '*abc*' | xargs -I '{}' grep abc {} -H ...

  10. XLua系统学习

    官方网站:https://github.com/Tencent/xLua 学习手册:http://manual.luaer.cn/ 技术博客: http://blog.csdn.net/column/ ...