C语言基础 | 变量、关键字、数据类型大小


一、文件类型

在这里插入图片描述
除了.exe文件,其他的文件格式都不可执行。

二、编译链接过程

在这里插入图片描述

三、进制转换

(103)10->(0110 0111)2->(147)8->(67)16
四个二进制位是一个十六进制位。
三个二进制位是一个八进制位。
特殊数字:127->0x7f 255->0xff
在这里插入图片描述

四、数据类型大小

C语言中数据类型和对应数据类型所占的字节在这里插入图片描述
整型还分有符号无符号数(unsigned;无符号数不能表示负数)
char类型也是整型的原因是因为char类型表示的字符在内存中是以ASC码的形式存放,ASC码占一个字节

五、定义和声明的区别

六、变量和常量

1.局部变量和全局变量

在这里插入图片描述

#include<stdio.h>
#define g_max 10 //全局变量
int main()
{
  int a=10;//局部变量
  {
    int b=0;//块内变量
  }
  return 0;
}

2.C语言中的的常量。

3.常变量与宏常量


上边两者之间的区别
1,常变量属于整型,宏常量没有类型
2,会给常变量开辟存储空间,而宏常量则不会。(在预编译时编译器会把宏常量替换掉

4.枚举常量

enum week{mon=1,Thus=2,sun=3}(1,枚举常量只能是整型。2,如果想使用枚举常量的话,枚举常量的取值范围必须在枚举范围之内。)

七、定界符


字符串是以\0作为结尾的,所以它的大小是字符串个数加上一个空字符,而算它的长度时就不需要加\0。

八、程序和进程的区别

程序和进程
程序是静态的,进程是动态的。

九、作用域(可见性)和生存期

在这里插入图片描述

十、函数的声明和定义

函数的声明

函数的声明时可以省略形参,但是不可以省略形参的类型。

函数的定义
在这里插入图片描述
a=b+c ==>a=a(b+c);**

十一、指针

x86情况下指针大小是4字节,x64情况下指针大小是8字节;
指针只能是四字节或者八字节,因为无论什么类型存放都只是把首地址给到指针。

打印地址时的操作指令打印
** int * ip 此处的 * 为声明的意思。
* ip 此处的 * 为指向的意思。
ip=&a;把a的地址给ip。
ip=100;(在语法层面上讲ip就是a,把100赋值给
ip就是把100赋值给a)**

十二、关键字

1.extern:

引用同一工程中其他工程中的函数或者变量。

2.static:

1,增加变量的存在时间,一直到主函数执行完成后才会消亡,但是可见性没有发生变化。

定义a为静态局部变量时,在编译连接过程中,a的数据将被送到数据区,且只被初始化一次。(在存储a内存的下边会有初始化标志,当第二次初始化时会检查该标志,若已被初始化就不会再次初始化a的值。)
2,将函数或者变量变成本文件的私有物,无法被extern引用。
在这里插入图片描述
在函数或者变量前加上static,该函数无法被引用,改变其可见性,其只能在本文件中可见。

3.const:

在这里插入图片描述

4.typedef

指定新的类型名来代替已有的类型名。
方法:1,先按定义变量的方法写出定义体(int i;)
2,将变量名字换成新类型名(将i换成Count)
3,在最前面加上typedef(typedef int Count)
4,然后就可以用新类型名去定义变量(Count i=1与int i=1作用相同)
简单的说,就是按定义变量的方式,把变量名换上新类型名,并且在最前面加“”typedef“”,就声明了新类型名代表原来的类型。
在这里插入图片描述
这里的struct student s1与GYStudennt s2 作用一样。

5.sizeof

计算类型的大小,需注意的是在编译时期就已经确定。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值