c语言“结构体”一直报错

按照网课输入下列代码,一直报错。
看起来应该是 结构体 部分有错
但是网课的代码就这么写的……
求问大家怎么修改!
#include
typedef struct Lnode *List;
struct Lnode{
int a[100];
int length;
};
int sequentialSearch(list tb1,int k);
int main(void)
{
int n,key;
int a[100];
scanf("%d",&n);
for(int i = 0 ; i < n ; i++)
scanf("%d",&a[i]);
scanf("%d",&key);
printf("%d "sequentialSearch(a,key));
}
int sequentialSearch(list tb1,int k){
int i;
tb1->a[0] = k;
for(i = tb1->length; &&tb1->a[i] != k;i--)
;
return i;
}


图片说明

16个回答

感觉题主很像我刚学C语言的时候,有问题不知该怎么办
下面是我的解决方案

 //头文件没有包
#include <stdio.h>
typedef struct Lnode List;
//你这里typedef 类型重定义为 List 后面用的是list
struct Lnode{
  int a[100];
  int length;

};
int sequentialSearch(List* tb1,int k);
int main(void)
{
  int n,key;
  scanf("%d",&n);
  //定义一个 List
  List tb1;

  //输入你要查找的值
  scanf("%d",&key);

  for(int i = 0 ; i < n ; i++)
  {
    //这块应该是循环输入
    scanf("%d",&(tb1.a[i]));
  }

  //1.这里""后面缺少,
  //2.函数参数类型为List类型
  printf("%d ",sequentialSearch(&tb1,key));
} 

int sequentialSearch(List* tb1,int k){
  int i;
  tb1->a[0] = k;
  for(i = tb1->length; i > 0 &&tb1->a[i] != k;i--)
    ;
  return i;
}

发现两个问题吧,
一,include 后面没有要包含的文件,空的一个include也是有问题的。
二,在结构体定义之前,就先typedef这个结构体,所以编译器不知道这里tepydef的是个啥,报的未声明的错误。修改如下:
//#include //或者删除
struct Lnode{
int a[100];
int length;
};
typedef struct Lnode *List;
//或者
typedef struct Lnode{
int a[100];
int length;
}*List;
这个两个修改应该都行,你试试。
PS:因为刚好要下载资源没分数,所以过来看看能不能挣点分数,还请采纳哈。

weixin_42163711
神农藏百草 去看看我的问题,我有币
大约一年之前 回复

注意你的大小写List list

main 是有类型的,是不是要有返回值呢?

二楼说的你写错了大小写字母,也是问题,看这个编译报错,应该就是这个大小写。

修改如下:
typedef struct Lnode{
int a[100];
int length;
}Lnode, *List;

i = tb1->length-1;

1.结构体定义要在使用前2.注意大小写的问题。定义的是List,声明时应使用List list

你一开始就用typedef声明结构,一开始不能用typedef声明结构

声明时使用List list

1.结构体定义要在使用前2.注意大小写的问题。定义的是List,声明时应使用List list 3.。。。。

共16条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C语言,vc6.0一直报错
电脑两个账号我用的VC6.0在管理员账号可用,在其他账号无论程序是否正确老是报错,请问怎么解决?
C语言结构体.ppt
定义结构体类型 定义结构体类型变量 引用结构体变量 给结构体变量赋值 结构体的嵌套 结构体数组 指向结构体类型变量的指针
C语言 结构体应用
A。利用该结构体编写程序让用户输入10个人的信息,将这些信息写入到一个二进制文件out.dat中。 B。编写程序将outdat数据读出,计算出他们的平均年龄。
C 语言结构体笔记
有关结构体,联合体,枚举型,宏等的定义和写法
C语言结构体
前言 本博文基于VC++6.0开发调试运行; 本博文知识对结构体的一个简介; 什么是结构体 一般的变量定义都是独立的,变量与变量之间或许有联系,比如记录一个人的个人信息(身高,体重,年龄等)时需要定义分别几个变量,并且调用时需要分别调用;但是这种对于个人信息的统计方式,并不适合大型程序的编写,如果能有一个东西,把这些信息都包裹在一个块儿内,谁用调取,那么想必会很方便;结构体的功能就是做这个工作...
C语言学习:结构体
一、结构体声明、初始化:方法一:struct student{  int num;  char name[20];  char sex;       int age;       float score;       char addr[20];};                                      //不要忘记写分号int num;                    ...
c语言结构体分析
C 语言 · 结构体分析学习 1.什么是结构体? 是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体。 个人觉得结构体就是一个数据类型的扩充、更具有综合性、普遍性、适用性,因为目前阶段的发展,简简单单的数字、字符已经很难满足目前的数据需求,为了满足这个需求,结构体出现了。 2.结构体基本语法 //例1: struct mail//声明一个名字为mail的结构体, /...
C语言结构体大小
吐血总结,在两次笔试题中都遇到,特总结如下: P表示偏移量,D表示大小,sum为总大小; 规则1:P(i)能整除以D(i); 规则2:sum能整除以每个D(i); 规则3:sum=last_P(i)+last_D(I);总大小等于最后一个成员的偏移量加上最后一个成员的大小 struct stu1              ////12           {         
C语言:const关键字、结构体
本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前几节内容的讲解,主要是内存地址及指针的分析。这一节讲解一下容易混淆的关键字constant及结构体的知识。一、const关键字1. 字符常量的指针char const *p1 = &quot;hello&quot;; printf(&quot;指针的值:%p,指针所指向的值:%c\n&quot;,p1, *p1); p1++; pri...
C语言结构体定义
C语言结构体定义在我看来类似数据库的表 如: #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string.h&amp;gt;   struct st1 {   int id;   char name[30];   char sex;   int score; };     int main() {     struct st1 s1;    ...
C语言--结构体
结构体,是一个在C语言中允许存储不同类型数据的数据结构,和前面我们说到的数组不同,数组是存储相同类型的数据,而结构体是可以存储不同类型的数据。例如:在数组中,如果是一个int类型的数组,那么数组中的元素只能是int类型的数据。而结构体不同,在定义结构体的时候,结构体的属性可以是不同数据类型。下面我们就来定义一个结构体。 struct BOOKS {     char title[50];
<C语言>结构体理解
题目:关于C语言结构体的理解 作者:wsg 时间:2017年8月14日 一、先来看看理论点的不好理解的结构体定义: { ·概念:结构体(structure)是由各种类型组成的的复合数据类型。 ·定义一个结构体类型的语法如下: struct {成员列表}; ·定义一个结构体变量的3种形式: ①常规形式: struct {成员列表}; struct ; ②与类型定
C 语言结构体和共同体
1.结构体 1 #include &lt;stdio.h&gt; 2 3 //创建结构体File 4 struct File { 5 char *name; 6 int size; 7 }; 8 9 //创建结构体People 用typedef自定义 10 struct _People { 11 char *name; 12...
C语言 结构体
定义结构体 struct girlfriend{     char name[20];     int age;     int height;     float weight; };  //不要忘记在结构体定义的末尾加分号   定义结构体变量 定义一个结构体变量     struct girlfriend Lily; 定义三个结构体变量 struct girlfriend
【C语言】使用结构体
定义的一般形式: struct 结构体名 { 成员表列 }变量名列表;结构体变量的初始化和引用 典例: 把一个学生的信息(包括学号,姓名,性别,住址)放在一个结构体变量中,然后输出这个学生的信息。#include<stdio.h> #include<windows.h> int main() { struct Student //声明结构体类型 {
C语言结构体与联合体
共用体与结构体 /* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */ /* Author: Nicolas Hery - http://nicolashery.com */ /* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff */ /* Source: h
【C语言】结构体
1.结构体 a.概念:结构是一些值得集合,这些值成为成员变量。结构的每个成员可以是不同类型的变量。 b.声明: eg声明一个学生信息的结构体。 struct Stu { char name[20]; short int age; char sex[5]; }stu1,stu2;//stu1,stu2为变量列表,并且为全局变量,分好不能丢 int main() { ...
C语言结构体与指针
typedef struct{ int pages; float price; }BOOK; int main(int argc, const char * argv[]) { BOOK aBook; aBook.pages = 300; aBook.price = 22.8; BOOK bBook = aBook; bBook.page...
C语言-结构体的大小
结构体大小(sizeof)计算规则 1.以最大类型为字节对齐宽度 2.依次填补各个成员字节 3.结尾补齐 例题1 struct Stu { short s; //2 int a; //4 double d; //8 char c2; //1 }; int main(void) { Stu stu; printf(&quot;%d, %d\n&quot;, sizeof(struct...
C语言学习笔记——结构体
一、结构体 1、结构体定义:结构体是将不同类型的数据按照一定的功能需求进行整体封装,封装的数据类型与大小均可以由用户指定。 2、结构体声明:声明一个结构体类型的一般形式为: struct 结构体名 { 成员列表 }; 例如: struct BOOK { char title[20]; char author[20]; float value; }...
C语言结构体内存对齐
C语言中结构体内存对齐为什么要内存对齐如何对齐结构体对齐 为什么要内存对齐 内存中存放数据的时候要有一定的规则,这么做得根本原因是要减少CPU访问内存的次数。举个例子,int类型为4个字节,存放int类型的内存的起始地址就是4的倍数,这样CPU访问一次内存就能够取到数据(跟CPU访问内存的机制有关,加上Cache的映射,一般CPU一次访问64字节的数据,也有128字节的)。假设CPU一次访问64字...
c语言结构体
结构体(structre) 用户自己建立数据类型 学会类比 1.什么是结构体 简单一点理解 ,就是把多个不同的类型的变量构做一个结构了,再自己给这个变量重新命名 2.结构体类型的声明 关键字 struct struct Person ---- 类比成 int //结构体类型的名字(Person)首字母要大写 { 属性(成员) Int id; Char sex; ...
C语言结构体数组遍历
我需要遍历完整个数组后,输出符合条件的那一个,可是else多输出了,请问红色字体应如何修改?rnrn struct Namern rn const int Base_Class1;rn const int Sub_Class1;rn const int Interface1;rn const char *Meaning1;rn ;rnrn struct Name mean[17]=rn 0x00,0x00,0x00,"All currently implemented devices",rn 0x00,0x01,0x00,"VGA-compatible device",rn 0x01,0x01,0x80,"IDE controller",rn 0x01,0x80,0x00,"Other mass storage controller",rn 0x02,0x00,0x00,"Ethernet controller",rn 0x02,0x80,0x00,"Other network controller",rn 0x03,0x00,0x00,"VGA-compatible controller",rn 0x03,0x80,0x00,"Other display controller",rn 0x06,0x00,0x00,"Host bridge",rn 0x06,0x01,0x00,"ISA bridge",rn 0x06,0x04,0x00,"PCI-to-PCI bridge",rn 0x06,0x04,0x01,"Subtractive Decode PCI-to-PCI bridge",rn 0x06,0x07,0x00,"CardBus bridge",rn 0x0c,0x00,0x10,"IEEE 1394 OpenHCI",rn 0x0c,0x03,0x00,"USB Universal Host Controller",rn 0x0c,0x03,0x20,"Intel USB2 Enhanced Host Controller",rn 0x0c,0x05,0x00,"SMBus",rn ;rn[color=#FF0000]rn for(i=0;i<17;i++)rn rn if(Base_Class == mean[i].Base_Class1 && Sub_Class == mean[i].Sub_Class1 && Interface == mean[i].Interface1)rn puts(mean[i].Meaning1);rnrnrn else printf("%s\t","Unknow Device");[/color]rn
C语言---结构体的指针
小弟最近在学习单片机和C语言,对结构体理解很不到位(因为只接触到51单片机,实际使用中没有实际使用过结构体)~~~rn问题一:如何理解结构指针->,可以认为“->"左边必须是一个指针吗(地址)?rn问题二:如下程序,有2个地方不是很明白,请大神指点下,感谢了~~~rn[color=#0000FF]#includern#includernstruct data//定义结构体rnrn int day,month,year;rn;rnstruct stu//stu是结构体标记,也可认为是标注其类型rnrn char name[20];rn long num;rn struct data birthday;//嵌套的结构体类型成员rn;//这里的分号不可遗忘rnvoid main()rnrn struct stu *student;//这个如何去理解?rn student=malloc(sizeof(struct stu));rn printf("Input name,number,year,month,day:/n");rn scanf("%s",student->name);//为什么这里的name不需要使用“&”???rn scanf("%ld",&student->num);rn scanf("%d%d%d",&student->birthday.year,&student->birthday.month,&student->birthday.day);rn printf("%20s%10ld%10ld//%d//%d\n",student->name,student->num,student->birthday.year,student->birthday.month,student->birthday.day);rn[/color]
C语言--结构体练习
#结构体练习 #来自成都东软学院ACM实验室 还有就是要理解:typedef struct和struct的区别(比较混,耐心点QAQ) 这里推荐学习的人去看看(网上有很多) 传送: 作者:bingo~https://www.c… 描述 现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。...
C语言学习之结构体
前言 一直以来,C语言的学习都在入门阶段,只用到数组、函数、循环、选择、位运算这些基本的知识,较少用到指针、预处理、结构体、枚举类型、文件操作等这些C语言的精髓内容,现在想想真不敢说自己熟练掌握C语言的使用,所以最近几篇文章是关于这些内容的,一方面是巩固自己的C语言编程能力,另一方面也为以后学习C++做准备。 什么是结构体 C语言的结构体实际上就是一种特殊的数据类型,只不过这种数据类型包括了很多...
c语言的结构体 操作符
看看我的定义有什么问题:rnrnrn[code=C/C++]rnstruct bigrnrn int bit[50];rnrn struct big operator + (struct big right);rn struct big operator=(struct big right);rn;rn[/code]rnrnrn顺便问一下,参数struct big right,是传地址,还是传值?rnrn就算传值,我觉得也应该传的是bit的指针吧,也就是浅复制,对么?
C语言结构体的问题
定义一个结构体如下:rntypedef struct Lnodernrnint data;rnstruct Lnode *nextrnLinkList;rnrn问题是:Lnode可以单独用吗?比方说:struct Lnode Linklist1 或者LinkList LinkList2这个应该都没问题rn但是对于下述语句我就不大明白了:LinkList *L;rn L=(LinkList*)malloc(sizeof(Lnode));rn这里的Lnode可以单独用吗?rn按照我的理解不是应该是“ L=(LinkList*)malloc(sizeof(structLnode));”吗?rnrn请各位指导迷津
C语言结构体与共用体
C语言结构体与共用体 C语言基础 对方面不明白的C可以下载看看
c语言 结构体与共用体
详细介绍c语言结构体与公用体, ppt课件
C语言结构体.pdf
C语言结构体.pdf,欢迎大家下载啊。。。
结构体 c语言 进制转换
结构体 c语言 进制转换
C语言 课件 结构体
C语言程序设计基础第9章_结构体 结构 结构数组 结构指针 链表 位运算 自定义类型
C语言结构体例题
C语言结构体例题 可能对初学c语言的同学们有帮助
C语言结构体实例
C语言结构体实例,很简单,配套郝斌老师的数据结构
c语言_结构体
一 指向结构体变量的指针 #include&lt;stdio.h&gt; #include&lt;string.h&gt; void main() { struct library { int number; //藏书编号 char title[20]; //书名 char name[20]; //作者 int price; //书本价格 char f...
链表基础知识总结
链表和数组作为算法中的两个基本数据结构,在程序设计过程中经常用到。尽管两种结构都可以用来存储一系列的数据,但又各有各的特点。数组的优势,在于可以方便的遍历查找需要的数据。在查询数组指定位置(如查询数组中的第4个数据)的操作中,只需要进行1次操作即可,时间复杂度为O(1)。但是,这种时间上的便利性,是因为数组在内存中占用了连续的空间,在进行类似的查找或者遍历时,本质是指针在内存中的定向偏移。然而,当...
C语言07 -- 结构体
// // main.m // C7 – 结构体 // // Created by dllo on 15/7/8. // Copyright (c) 2015年 Gaozi. All rights reserved. //import struct student{// 成员变量 char stuName[20];//学生姓名 char stuSex;// 学生性别 int st
C语言----结构体
1.结构体是一种自定义的数据类型 struct   结构体名{    类型说明符   成员名;    类型说明符   成员名;    …………………… };//大括号后的分号一定要有,和枚举类型很相像 例: struct  student{    int num;    char name[20];    float score; }; 2.结构体变量 struct  结
C语言结构体的字节对齐
下面直接来看例子吧:测试环境为32位的系统以下结构体分别占多少字节:struct A { char a; char b; char c; };sizeof(A) = 3; //因为a、b、c按照1个字节进行对齐struct B { int a; char b; short c; };sizeof(B) = 8; 按照4个字节对齐:    a占4字节     b占一个字节 c占2个字节 有1
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件