带你们偷瞄编程绕不开的C语言(三)

简介: 带你们偷瞄编程绕不开的C语言(三)

目录

🙄前言

😮‍💨一 常见的关键字

🤪1.1 关键字的简单介绍

🤗1.2 关键字 typedef

🤑1.3 关键字 static

🧐二 #define定义常量与宏

🥺三 指针

🥴3.1 内存

🥵3.2 指针的大小

🤯四 结构体

🤠总结


🙄前言

在上期文章里,对选择语句,循环语句,函数,数组,操作符进行了一些概括,介绍了它们的概念和基本使用方法(上期文章:http://t.csdn.cn/R6yT0),在这篇文章里我们紧接着对其他内容进行讲解。

😮‍💨一 常见的关键字

🤪1.1 关键字的简单介绍

C语言中提供了丰富的关键字,这些关键字都是语言本身自己设定好的,不可以用户自己创造关键字。

在这里对这些关键字简单介绍一下叭。auto是让局部变量自动创建自动销毁, 不过一般不使用,因为编译器会默认加上它。break,case,default,都是在switch中使用的关键字。char,int,float,doudle都是数据类型。const是修饰常变量。continue跳过本次循环。do与while搭配组成do……while语句else与if搭配组成if……else。enum枚举类型extern声明外部符号。fegister是建议cup把某些放在寄存器处理。return返回某值。sigend有符号的,unsigend无符号的。sizeof计算大小,单位字节。static修饰变量与函数。typedef类型重定义。void空返回值。(有些常见的就不介绍了)

🤗1.2 关键字 typedef

typedef是类型定义,可以理解为类型重定义。举个例子:一个人原名叫张三三,他觉得这个名字长了或者不好听,这时他就用typedef改名为张三,typedef在这里起的就是重新取名字的作用。      代码演示:

🤑1.3 关键字 static

static是用来修饰变量和函数的:1修饰局部变量,把修饰后的变量称为静态局部变量。 2修饰全局变量,修饰后称为静态全局变量。 3修饰函数,把修饰后称为静态函数。

修饰局部变量的作用是改变局部变量的存储位置,使它的生命周期变长,直到整个程序结束才销毁。  修饰全局变量是改变全局变量的外部链接属性,变为内部链接属性,只能在自己所在的源文件中使用。 修饰函数的作用和修饰全局变量十分相似,都是把外部属性改变为内部属性。如果大家不太清楚或者想具体了解可以看这《震惊!竟然有人如此解释字符串》http://t.csdn.cn/aKMqP

🧐二 #define定义常量与宏

这一部分我认为比较简单,就直接上代码叭。

🥺三 指针

🥴3.1 内存

到了大家又爱又恨的指针环节了,其实指针并没有想象的那么难,只要理解得当它还是比较好上手的,废话不多说我们开始正文叭。说到指针我们就必须得提起内存了,指针就是用来访问内存的内存是电脑上特别重要的储存器,程序的运行都是在内存中进行的。为了有效的使用内存,就把内存分为一个一个小的内存单元,大小为一个字节。又为了有效的访问到内存的每个单元,就给它们进行了编号,这些编号叫做内存单元的地址。

接下来我们就由画图来展示吧:

地址储存,需要定义指针变量。

指针的使用案例:

🥵3.2 指针的大小

指针的大小取决于地址的大小,32位平台上是32位bit(4个字节),64位平台上是64位bit(8个字节)

代码求指针变量大小:这是在32位平台下

🤯四 结构体

结构体在C语言中有举足轻重的地位,结构体使C语言有能力描述复杂对象,可以自己创建需要的类型,比如描述一个人:名字,性别,年龄,身高这几项信息。这里只能使用结构体来描述了。例如:

结构体的初始化:可以用三种符号作为访问操作符1. 2 pa* 3 -> 代码展示:


🤠总结

到这里,咱们对于C语言已经有了一个全貌的了解了吧(偷瞄够了叭),我们系统的概括了一下C语言中所有的基础知识,只要看完这几篇文章,想必大家对于C语言的代码大概能看懂了,简单的代码也可以写几行了,但是这些对于学习C语言来说还远远不够,希望大家可以在上面继续深耕,早日成为大牛,笔者对于一句话就是特别适合描述我们学习编程:键盘敲的烂,年薪必百万!大家务必多敲代码呀!好啦到这就该告一段落了,喜欢的看官姥爷给个三连哦。

目录
相关文章
|
1月前
|
存储 编译器 C语言
【C语言】数据类型全解析:编程效率提升的秘诀
在C语言中,合理选择和使用数据类型是编程的关键。通过深入理解基本数据类型和派生数据类型,掌握类型限定符和扩展技巧,可以编写出高效、稳定、可维护的代码。无论是在普通应用还是嵌入式系统中,数据类型的合理使用都能显著提升程序的性能和可靠性。
46 8
|
2月前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
77 4
|
3月前
|
NoSQL C语言 索引
十二个C语言新手编程时常犯的错误及解决方式
C语言初学者常遇错误包括语法错误、未初始化变量、数组越界、指针错误、函数声明与定义不匹配、忘记包含头文件、格式化字符串错误、忘记返回值、内存泄漏、逻辑错误、字符串未正确终止及递归无退出条件。解决方法涉及仔细检查代码、初始化变量、确保索引有效、正确使用指针与格式化字符串、包含必要头文件、使用调试工具跟踪逻辑、避免内存泄漏及确保递归有基准情况。利用调试器、编写注释及查阅资料也有助于提高编程效率。避免这些错误可使代码更稳定、高效。
532 12
|
4月前
|
Linux C语言
C语言 多进程编程(四)定时器信号和子进程退出信号
本文详细介绍了Linux系统中的定时器信号及其相关函数。首先,文章解释了`SIGALRM`信号的作用及应用场景,包括计时器、超时重试和定时任务等。接着介绍了`alarm()`函数,展示了如何设置定时器以及其局限性。随后探讨了`setitimer()`函数,比较了它与`alarm()`的不同之处,包括定时器类型、精度和支持的定时器数量等方面。最后,文章讲解了子进程退出时如何利用`SIGCHLD`信号,提供了示例代码展示如何处理子进程退出信号,避免僵尸进程问题。
|
4月前
|
消息中间件 Unix Linux
C语言 多进程编程(五)消息队列
本文介绍了Linux系统中多进程通信之消息队列的使用方法。首先通过`ftok()`函数生成消息队列的唯一ID,然后使用`msgget()`创建消息队列,并通过`msgctl()`进行操作,如删除队列。接着,通过`msgsnd()`函数发送消息到消息队列,使用`msgrcv()`函数从队列中接收消息。文章提供了详细的函数原型、参数说明及示例代码,帮助读者理解和应用消息队列进行进程间通信。
|
4月前
|
缓存 Linux C语言
C语言 多进程编程(六)共享内存
本文介绍了Linux系统下的多进程通信机制——共享内存的使用方法。首先详细讲解了如何通过`shmget()`函数创建共享内存,并提供了示例代码。接着介绍了如何利用`shmctl()`函数删除共享内存。随后,文章解释了共享内存映射的概念及其实现方法,包括使用`shmat()`函数进行映射以及使用`shmdt()`函数解除映射,并给出了相应的示例代码。最后,展示了如何在共享内存中读写数据的具体操作流程。
|
4月前
|
Linux C语言
C语言 多进程编程(七)信号量
本文档详细介绍了进程间通信中的信号量机制。首先解释了资源竞争、临界资源和临界区的概念,并重点阐述了信号量如何解决这些问题。信号量作为一种协调共享资源访问的机制,包括互斥和同步两方面。文档还详细描述了无名信号量的初始化、等待、释放及销毁等操作,并提供了相应的 C 语言示例代码。此外,还介绍了如何创建信号量集合、初始化信号量以及信号量的操作方法。最后,通过实际示例展示了信号量在进程互斥和同步中的应用,包括如何使用信号量避免资源竞争,并实现了父子进程间的同步输出。附带的 `sem.h` 和 `sem.c` 文件提供了信号量操作的具体实现。
|
8月前
|
C语言
c语言编程练习题:7-10 算术入门之加减乘除
对于输入的两个整数,按照要求输出其和差积商。
125 0
|
存储 C语言 数据格式
【手把手带你刷题】-C语言编程入门篇(四)
【手把手带你刷题】-C语言编程入门篇(四)
79 0
|
机器学习/深度学习 存储 C语言
【手把手带你刷题】-C语言编程入门篇(三)
【手把手带你刷题】-C语言编程入门篇(三)
77 0