当前位置: 首页 > news >正文

网站需求分析与设计方案站长工具综合权重查询

网站需求分析与设计方案,站长工具综合权重查询,二手书籍交易网站开发方式,外贸建站有什么用1.结构体定义时的注意事项: 1.错误定义结构体: struct students {char name[9] "Mike";int height 185; }; 这是不对的,在 C 语言中,这是由语言的设计原则所决定的。结构体的定义(struct declaration&…

1.结构体定义时的注意事项:

1.错误定义结构体:

struct students
{char name[9] = "Mike";int height = 185;
};

  这是不对的,在 C 语言中,这是由语言的设计原则所决定的。结构体的定义(struct declaration)只是决定了数据的布局和类型。在这个期间,并没有为这些数据分配内存。只有当你声明一个特定的结构体变量时,内存才会被分配,并且你可以在此时为它赋值(初始化)。这是因为结构体定义是用于创建一种新的类型,而不是创建一个变量。类型是一种抽象的概念,没有实际的存储空间,所以不能为其直接赋值。

2.正确定义结构体:

  在 C 语言中,你不能在结构体定义的时候直接赋初值。应该在声明结构体变量的时候,或是在定义之后,对单个变量进行初始化操作。

比如:

struct students
{char name[9];int height;
};// 在声明变量时进行初始化
struct students aStudent = {"John", 180};// 或在定义后对单个变量进行初始化
aStudent.height = 180;
strcpy(aStudent.name, "John");

2.结构体变量赋值:

在C语言中,主要有三种方式可以为结构体变量赋值:

//1. 声明时初始化:
struct student {char name[10];int age;
} stu = {"Tom", 20};


  在这个例子中,我们在声明student结构体的时候同时创建了一个名为stu的变量,并为其赋值了初始值。

//2. 使用**句点运算符**(.):
struct student stu;
strcpy(stu.name, "Tom");
stu.age = 20;

  在这个例子中,我们首先声明了一个名为stu的student结构体变量,然后使用句点运算符为其各成员赋值。这里就要注意,字符数组或字符串赋值最好使用string.h包含的strcpy()函数赋值,方便很多。

//3. **复制另一个相同类型的结构体变量**:
struct student stu1 = {"Tom", 20};
struct student stu2 = stu1;

  这个方法在交换两个结构变量时非常好用,以下举个快速排序学生成绩(由高到低)的示例,展示如何使用以上所说注意事项。

// 引用所需的头文件
#include<stdio.h>
#include<stdlib.h>// 定义结构体类型,并为成员分配内存空间
typedef struct students
{char name[9]; // 学生姓名,允许的最大长度为8个英文字母int height;   // 学生身高,区间在30-300之间
} Students;// 快速排序算法函数实现
void quick_sort(Students student[], int left, int right)
{int i = left;int j = right;Students temp1;Students temp2 = student[left];if (i > j){return; // 递归终止条件,i大于j时,返回上一级}while (i != j){// 从右往左找比temp2.height值小的学生while (student[j].height <= temp2.height && i < j){j--;}// 从左往右找比temp2.height值大的学生while (student[i].height >= temp2.height && i < j){i++;}// 交换两个学生位置if (i < j){temp1 = student[i];student[i] = student[j];student[j] = temp1;}}// 将基准值放在正确的位置student[left] = student[i];student[i] = temp2;// 递归调用快速排序算法处理基准值左侧的学生quick_sort(student, left, i - 1);// 递归调用快速排序算法处理基准值右侧的学生quick_sort(student, i + 1, right);
}int main()
{// 输入数据int N = 0; // 总人数Students student[10001];// 输入学生总数Nscanf("%d", &N);// 逐行输入学生的名字和身高for (int i = 0; i < N; i++){scanf("%s %d", student[i].name, &student[i].height);}// 使用快速排序算法将学生按身高升序排序quick_sort(student, 0, N - 1);// 输出排序后的学生名单for (int i = 0; i < N; i++){printf("%s %d\n", student[i].name, student[i].height);}return 0;
}

  注意看代码中在交换两个结构变量时,可以直接把一个变量值赋值给另一个相同类型的结构变量,非常方便,这里要记住这个用法

运行结果:

//测试用例:
Tom 188
Mike 170
Eva 168
Tim 160
Joe 190
Ann 168
Bob 175
Nick 186
Amy 160
John 159//输出结果:
Joe 190
Tom 188
Nick 186
Bob 175
Mike 170
Eva 168
Ann 168
Tim 160
Amy 160

http://www.yidumall.com/news/89487.html

相关文章:

  • 独立站建站平台对比媒体营销平台
  • 网站建设前期策划淘宝店铺买卖交易平台
  • 建设银行手机银行网站百度网盘怎么提取别人资源
  • 动态网站开发实训品牌宣传策略
  • 中华人民共和国城乡与建设部网站公司网站设计与制作
  • ps做网站页面设置为多大搜索引擎营销的特点包括
  • 做导购型网站浙江企业网站建设
  • 酒庄企业网站自动引流推广软件
  • b2c电子商务网站需求分析永久免费的电销外呼系统
  • 郑州区块链数字钱包网站开发多少钱网站制作步骤流程图
  • 学校网站建设合同中国企业培训网
  • 网站关键字 怎么设置宁波网络营销有哪些
  • 乌海市建设局网站关键词优化排名查询
  • 国内做led灯网站有竞价网络推广
  • 网站账户上的余额分录怎么做品牌公关
  • 网站功能策划书推广手段有哪些
  • 政府类网站设计有什么要点百度地图官网2022最新版下载
  • 网站建设申请书广州最新消息
  • 龙岩市住房与城乡建设局网站百度教育app
  • 个人公司网站怎么做搭建一个app平台需要多少钱
  • 比价网站 源码搜索引擎调价平台哪个好
  • 自己怎么做短视频网站网络营销怎么做?
  • 网站开发中点赞怎么做到的推广标题怎么写
  • wordpress本地化网站推广优化网址
  • 虚拟物品网站制作模板国内疫情最新情况
  • 电商网站入口免费网站推广产品
  • 自己做店招的网站百度竞价排名是什么意思
  • 做公司网站需要网络营销就是
  • 深圳本地招聘网网站seo外链建设
  • 微信公众号怎么做文章排版牛排seo系统