• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c语言:顺序表传参要是指针类型的才能改变顺序表

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

想在头文件中初始化顺序表,在main函数只能传参的时候传的是(sqlList L),调用LocalElem(L,X)是报错说没有给L初始化.

原因:调用初始化的函数,传过去的参数是sqlList L并不能改变实参,虽有后来改为了sqlList *L,就可以了

#pragma once
#define maxSize 100
typedef struct {
    int data[maxSize];
    int length;
}sqlList;
//初始化一个线性表(n:数组的长度)
void InitList(sqlList *L, int a[], int n) {
    int i;
    L->length = 0;
    for (i = 1;i <= n;i++) {
        L->data[i] = a[i - 1];
        L->length++;
    }
}
//返回第一个比x元素大的元素的位置
int LocateElem(sqlList L,int x) {
    int i;
    for (i = 1;i <= L.length;i++) {
        if (x<L.data[i]) {
            return i;
        }
    }
    return i;
}

 

#include <stdio.h>
#include "head.h"

int main() {
	sqlList L;
	int a[10] = {1,2,3,4,5,6,7,8,9,10};
	/*for (int i = 1;i <= 10;i++) {
		L.data[i] = a[i-1];
	}
	L.length = 10;*/
	InitList(&L,a,10);
	int x = LocateElem(L,5);
	printf("%d\t",x);
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c++algorithm库发布时间:2022-07-13
下一篇:
C语言实现通用链表初步(三)----单元测试发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap