![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c语言基础1-华XX见
c语言基础
happygrilclh
物联网
展开
-
C基础-联合体-1-定义,初始化,赋值,使用
概念:联合(union)是一种数据类型,它能在同一个内存空间中储存不同的数据类型(不是同时储存)。其典型的用法是,设计一种表以储存既无规律、事先也不知道顺序的混合类型。使用联合类型的数组,其中的联合都大小相等,每个联合可以储存各种数据类型。定义:创建联合和创建结构的方式相同,需要一个联合模板和联合变量。可以用一个步骤定义联合,也可以用联合标记分两步定义。下面是联合体的三种定义方式:1. 用联合标记分两步定union hold{ int digit; double bigfl; .原创 2020-10-19 16:38:16 · 5774 阅读 · 0 评论 -
C基础-结构体-4-结构体,结构体指针作为函数传递的参数
函数的参数可以向函数传递值,向函数传递结构信息。1. 结构可作为参数传递给函数,2. 指向结构的指针也可作为参数传递。#include <stdio.h>#include <stdlib.h>struct stu { int num; char name[20]; int score;};void show(struct stu a){ printf("the num is =%d\n",a.num); printf("the name is.原创 2020-10-09 23:03:18 · 2937 阅读 · 1 评论 -
C基础-结构体-8-把结构内容保存到文件中
/*把结构内容保存到文件中。由于结构可以储存不同类型的信息,所以它是构建数据库的重要工具。例如,可以用一个结构储存雇员或汽车零件的相关信息。最终,我们要把这些信息储存在文件中,并且能再次检索。数据库文件可以包含任意数量的此类数据对象。储存在一个结构中的整套信息被称为记录(record),单独的项被称为字段(field)。*/#include <stdio.h>#include <stdlib.h>#include <string.h>#defin.原创 2020-10-15 23:46:09 · 1546 阅读 · 0 评论 -
C基础-联合体-2-应用场景集合
联合体节省内存空间这个就很容易理解了,多个变量使用同一处内存。应用:判断系统用的是big endian 还是 little endian强制类型转换(int 和 char数组转换,float 和 char数组转换)用一个成员把值存储在一个联合中,然后用另一个成员查看内容。便于阅读代码。在结构中储存与其成员有从属关系的信息。联合体的应用举例:场景1:判断系统用的是big endian 还是 little endian/*使用联合体,判断系统是大端还是小端。大端模式:高位对应低地址,原创 2020-10-20 00:04:29 · 1056 阅读 · 0 评论 -
C基础-结构体-7-在结构中使用字符指针
/*在结构中使用字符指针。*//*结构中的字符指针,使用场景一, 初始化的时候,字符指针已经指向已经分配过空间的字符串。 允许此场景。struct pnames 结构不为字符串分配任何存储空间,这个结构中存放的只是两个地址而已。对于struct pnames 变量treas来说,字符串存储在编译器存储字符串常量的地方。总结的来说,struct pnames 结构中的指针应该用来管理,那些已创建的,而且在程序其他地方已经分配过空间的字符串。*/#include <stdio.h.原创 2020-10-14 23:44:04 · 1470 阅读 · 1 评论 -
C基础-结构体-1-定义,初始化,赋值,使用
背景: 设计程序时,最重要的步骤之一是选择表示数据的方法。 在许多情况下,简单变量甚至是数组还不够。 为此,C提供了结构变量(structure variable)提高你表示数据的能力,它能让你创造新的形式。概念:数据结构就是一种数据类型,可以建立不同的数据类型组合。定义: 结构体三种定义方式: 1. 推荐使用这种 struct XXXX{ 成员, 成员...原创 2020-10-05 19:27:00 · 709 阅读 · 0 评论 -
C基础-结构体-5-其他的结构体特性
C允许把一个结构赋值给另一个结构,不能对数组这样做。下面操作都是允许的: struct stu a = { .num = 1, .name = "xiaowang", .score = 80, }; struct stu b; b = a; //赋值 struct stu c = a; //初始化 把一个结构初始化为另一个结构#include <stdio.h>#inclu...原创 2020-10-11 12:46:50 · 388 阅读 · 0 评论 -
C基础-typedef-1
typedef工具是一种高级数据特性,它使您能够为某一类型创建您自己的名字。在这个方面,它和define相似,但是它们具有3个不同之处:与#define不同,typedef 给出的符号名称仅限于对类型,而不是对值。typedef的解释由编译器,而不是预处理器执行。虽然它的范围有限,但在其受限范围内,typedef比#define更灵活。优点:typedef 有助于增加可移植性。 //不同平台,类型的定义可能不同为经常出现的类型创建一个方便的、可识别的名称。 //简单类型int ,结构体,原创 2020-10-21 21:57:35 · 104 阅读 · 0 评论 -
C基础-结构体-6-双向通信
/*在现在的C中,结构不仅可以作为参数传递给函数,也可以作为函数返回值返回。同时,结构指针也允许双向通信,因此可以使用任何一种方式解决编程问题。例程如下:*//* 结构不仅可以作为参数传递给函数,也可以作为函数返回值返回。 函数内部修改原始数据的副本,所以需要返回新修改后的数据,则返回值是struct namect.*/#include <stdio.h>#include <stdlib.h> struct namect{ char fname[2.原创 2020-10-13 17:51:39 · 192 阅读 · 0 评论 -
C基础-结构体-3-结构体与指针结合
指向结构的指针为何要使用指向结构的指针?第一,就像指向数组的指针比数组本身更容易操控(如,排序问题)一样,指向结构的指针通常比结构本身更容易操控。第二,在一些早期的C实现中,结构不能作为参数传递给函数,但是可以传递指向结构的指针。第三,即使能传递一个结构,传递指针通常更有效率。第四,一些用于表示数据的结构中包含指向其他结构的指针结构体与指针结合: 1.成员指针: 变量指针, 函数指针 2.指向结构体的指针 在结构体内 本身中 其他结构体 结构体外 /.原创 2020-10-09 20:17:02 · 794 阅读 · 1 评论 -
C基础-结构体-2-结构体数组,嵌套数组的应用
内容:结构数组嵌套结构/*描述:结构体数组,嵌套结构体*/#include "stdio.h"#define LEN 20#define SU_SUM 3struct SU_NAME{ char first[LEN]; char last[LEN];};struct SU_INFO{ int num; struct SU_NAME name; int score;};struct SU_INFO g_su_info[SU_SUM] = {1, "zh原创 2020-10-05 19:30:10 · 959 阅读 · 0 评论 -
C基础-枚举类型-1-定义,赋值,使用
枚举类型概念: 可以使用枚举类型,声明代表整数常量的符号名称。通过使用关键字enum,可以创建一个新“类型”并制定她可以具有的值。枚举类型的目的是提高程序的可读性。enum 常量是int类型的,因此在使用int类型的任何地方都可以使用它。定义:/*这个声明设置spectrum为标记名。*/enum spectrum{ red, orange, yellow, green, blue};/*这个声明,使得color成为enum spectru原创 2020-10-21 16:47:13 · 3805 阅读 · 0 评论 -
const 的用法
零. const 出现的原因编写一个处理基本类型(如,int)的函数时,要选择是传递int类型的值还是传递指向int的指针。通常都是直接传递数值,只有程序需要在函数中改变该数值时,才会传递指针。对于数组别无选择,必须传递指针,因为这样做效率高。如果一个函数按值传递数组,则必须分配足够的空间来储存原数组的副本,然后把原数组所有的数据拷贝至新的数组中。如果把数组的地址传递给函数,让函数直接处理原...原创 2019-03-04 15:43:53 · 193 阅读 · 0 评论 -
面试题目:c语言的数字字符串转换为整数
//题目:c语言的数字字符串转换为整数#include<stdio.h>#define INT_MAX 0x7FFFFFFF#define INT_MIN (-0x7FFFFFFF-1)/*约束:0. 参数中const变量指针使用;1. 空指针处理;2. 字符串前面空格处理;3. 字符串正负号处理;4. 字符前面 0 字符的处理;5. 错误字符输入处理6. 最大正数和最大负数溢出处理;*//*将字符串转化为整数*/int my_atoi(const.原创 2020-05-19 18:02:59 · 907 阅读 · 0 评论 -
字符串转整数例程源码:
字符串转整数例程源码:#include<stdio.h>/*将整数转化为字符串*/void my_itoa(signed int val, char *buf){ signed char i=0, j = 0; char tmp_buf[10] = {0}; char *p = tmp_buf; unsigned char sign_flag = 0; if(val < 0) { val = -val; sign_flag = 1; //符号标志。原创 2020-05-19 09:35:46 · 170 阅读 · 0 评论 -
整数转换为字符串程序实现。
从简单到复杂的例子:/是取整,%是求余例1:/*将整数转化为字符串*/#include<stdio.h>void main(void){ int a = 1234; while(a) { printf("data = %d\r\n",a % 10); a /= 10; }}例2:void main(void){ int a = 8234; signed char i=0, j = 0; char buf[10] = {0}; cha.原创 2020-05-18 20:41:10 · 1033 阅读 · 0 评论