C语言的细枝末节

前言:

由于我个人在学习c语言的时候会遇到一些比较费解东西,所以这篇文章我就想谈谈我自己对这些知识点的接见,如果有错误的地方还希望大家能帮忙斧正一下

变量

1.变量分为 局部变量 和 全局变量,这两种变量的区别就是作用域不同

局部变量:作用域是一个代码块(就是一个大括号里面的内容,包括函数和循环),进入代码块创建变量,离开代码块就销毁变量释放空间

全局变量:作用域是整个程序,与整个程序共存亡

但局部变量和全局变量同名的时候(虽然我强烈反对这样使用),局部变量优先使用,这波是 近水楼台先得月

当然这边 局部变量和全局变量的定义使用的形式都是一样的,只是由于定义的位置不同才会产生上面的区别

常量

常量也分为四种: 字面常量;const 修饰的常变量;#define 定义的标识符常量;枚举变量

这边一种一种的来介绍一下:

1.字面常量,就是 数字 字母都被成为字面常量

2.const修饰的常变量:本质上还是变量,但是具有不可变性,例如不能用在switch里面case后面(因为case后面只能接 整形常量),改变的话会直接报错

3.#define 修饰的标识符常量用法

#define MAX 100 ,需要注意的话 按照习惯一般把常量名称全用大写字母,语句的后面没有分号 ; ,本质上就是使用100去替换程序里面出现的 MAX

4.枚举变量,这个的话我后面会继续发文章来介绍

字符串和转义字符

使用 " " 引起来的是字符串,使用 ' ' 引起来的是字符

字符串的结束标志是 ' \0 ' ,但是这个转义字符是不算做字符串的内容的

转义字符 :在c语言中利用 \ 和一些特殊的字母来实现一些特殊的操作

typedef 类型定义,也可以理解为类型重命名

例如 typedef unsigned int uint_32; unint_32 a = 5; 本质就是使用 uint_32来代替 unsigned int

static 静态,用来修饰函数和变量的,总的来说static能够改变 变量 或者 函数的生命周期使得程序运行到作用域之外,变量还是存在没有被释放空间而销毁,

另外一个特点,被static修饰的全局变量或者函数只能在本源文件里面使用,不能在其他源文件使用

指针

首先我们需要知道 当我们定义一个变量的时候,系统会为这个变量在内存里面开辟出来一个连续空间,并且我们可以通过& 符号来得到这个变量第一个字节在内存的空间,那么这个时候就能引入一个新的东西——指针

指针就是能够储存变量的地址的变量,这边需要注意的是 指针不是一种数据类型它的本质还是一些基本数据类型

我们先定义一个变量 int a = 5;

在定义一个指向int类型的指针变量 int *a1 = &a;

这个时候a1 就是表示 a的地址,*a1 就是表示取出a1地址的值

指针也是一个变量,系统自然也要为它分配内存空间,所以指针也具有地址和内存大小

地址的话我们可以创建一个二维的指针用以表示,大小的话同样可以使用库函数sizeof()来查看

这边需要说明的是指针在32位的平台大小是4个字节,在64位平台是8个字节,指向int类型的指针和指向char类型变量的指针在同一个平台下面大小是一样得到

这只是对c里面的内容的一个大致的介绍,具体的内容我以后会写出文章详细的介绍的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值