结构体:

正常定义一个结构体:

typedef  struct node{
char ch[];
int len;
}Seq,*llink;

定义结构体指针:

Seq *s;
或者
llink t;
之后关于s与t的用法,其实完全一样,只是在定义时不同,Seq *就相当于llink了

以为定义完指针以后就可以使用了吗?
NO!

需要为指针申请空间才能正常使用,否则会在输入这里出现很多莫名其妙的错误!亲测如此
需要添加库:

#include<stdlib.h>

s = (struct node *)malloc(sizeof(struct node));
t = (struct node *)malloc(sizeof(struct node));

输入数据:
scanf("%d",&s->len);
这时候输入数据就可以正常使用了
输入整型数据需要加&
输入字符数据:scanf("%s",s->ch);
不需要添加&

输出数据:
printf("%d",s->len);
或者
printf("%d",(*s).len);
输出字符串数据:
printf("%s",s->ch);
或者
printf("%s",(*s).ch);

释放空间:
free(s);

额外的补充一下指针:
!!!!!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!!!!!!!
·在使用任何定义的指针时一定需要申请内存才能正常使用

·使用指针不能直接使用++或者--

eg:int *n;
*n = 4;
*n--; //此处为错误用法
*n -= 1; //此处为正确用法

如果使用*n--,减去的是地址的大小,系统操作:*(n--)

很明显是应该值变化,而不是地址变化

c语言结构体以及结构体指针的使用的更多相关文章

  1. C语言结构体中的函数指针

      这篇文章简单的叙述一下函数指针在结构体中的应用,为后面的一系列文章打下基础 本文地址:http://www.cnblogs.com/archimedes/p/function-pointer-in ...

  2. Android JNI编程(六)——C语言函数指针、Unition联合体、枚举、Typedef别名、结构体、结构体指针

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:函数指针 1.函数指针顾名思义就是定义一个指针变量指向一个函数,和一级指 ...

  3. 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符

    [源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...

  4. Delphi 中的结构体与结构体指针

    好多程序都给结构体变量设定了一个结构体指针 例如: PAbc = ^TAbc; TAbc = record a: string[10]; b: string[5]; c: string[1]; end ...

  5. 全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

    函数的返回值是结构体类型 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> struct ...

  6. Go语言规格说明书 之 结构体类型(Struct types)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 ...

  7. C语言文件操作 FILE结构体

    内存中的数据都是暂时的,当程序结束时,它们都将丢失.为了永久性的保存大量的数据,C语言提供了对文件的操作. 1.文件和流 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特 ...

  8. C语言提高 (5) 第五天 结构体,结构体对齐 文件

    1昨日回顾 2作业讲解 3 结构体的基本定义 //1 struct teacher { int id; char name[64]; }; struct teacher t5 = { 5, " ...

  9. C语言博客作业--结构体,文件

    1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为:      struct  结构体名     {      数据类型 成员名1:      数据 ...

  10. C语言入门第十章----结构体

    C语言结构体从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由int.char .float等基本类型组成的,你可以认为结构体是一种聚合类型. 在实际开发中,我们可以将一组类型不同的. ...

随机推荐

  1. [转帖]【架构系列】龙芯loongson简介

    [架构系列]龙芯loongson简介 https://blog.csdn.net/SoaringLee_fighting/article/details/97759305 2019年07月30日 10 ...

  2. SQLite基础-7.子句(一)

    目录 SQLite子句(一) 1. WHERE子句 2. LIKE子句 3. GLOB 子句 4. Oreder By 子句 SQLite子句(一) 1. WHERE子句 WHERE 子句后面跟着条件 ...

  3. C++中的bool类型

    1.C++中的布尔类型 (1)C++在C语言的基础类型系统之上增加了bool: 1)C语言中,没有bool类型存在,往往都是用整型代替bool类型,常用0表示假,1表示真: 2)bool本来就有这样的 ...

  4. 合并两个排序链表——牛客offer

    题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解题思路: 1.一般看到合并这类的题目就会很自然的想到创建一个新的链表,然后将两个链表根据一定 ...

  5. Kafka网络模型

    摘要:很多人喜欢把RocketMQ与Kafka做对比,其实这两款消息队列的网络通信层还是比较相似的,本文就为大家简要地介绍下Kafka的NIO网络通信模型,通过对Kafka源码的分析来简述其React ...

  6. jquery选择器 模糊查找

    $("input[class^='combo-text']").attr("readonly", "readonly"); 查找包含‘com ...

  7. TensorFlow良心入门教程

    All the matrials come from Machine Learning class in Polyu,HK and I reorganize them and add referenc ...

  8. vue中params-解决换路由不刷新问题

    因为依赖路由的params参数获取写在created生命周期里面,因为相同路由二次甚至多次加载的关系 没有达到监听,退出页面再进入另一个文章页面并不会运行created组件生命周期,导致文章数据还是第 ...

  9. SAP日志表CDHDR 和

    1. 标准日志表CDHDR 和 CDPOS OBJECTCLAS = 'INFOSATZ' 信息记录 OBJECTCLAS = 'BANF' 采购申请 OBJECTCLAS = 'EINKBELEG' ...

  10. java开发环境构建

    一. 基本工具安装 1. 配置终端命令别名 vim ~/.bash_profile *********************************************** # for colo ...