浅谈C语言的基础知识

浅谈C语言中的基础知识

C语言中的基本数据类型

char:字符
int:整型
short int :短整型
long int:长整型
float:单精度
double:双精度
电脑64位中,各类型所占字节数
在这里插入图片描述
然而,在此基础上增添了无符号及有符号的整型;
有无符号位主要是影响数值的范围,如
有符号: int;//-2^31 ~ 2^31 -1
无符号: unsigned int;//0 ~ 2^32 -1
#float及double总是带符号位的

其中uint8_t/uint16_t/uint32_t/uint64_t并不是新的数据类型,只是经过typedef封装过的组合类型。

C语言中的存储类型

堆区:动态内存分配;
栈区:编译器自动分配释放,存放函数的参数值、返回值及局部变量等。

auto:
自动类型,标识该局部变量存储在正在运行的进程栈区域,若该变量没有初始化,则系统自动赋予随机值,生存周期为创建到函数结束。

register:
该关键字只能用于局部变量,而且该变量只能是整型及字符型,运行期间数据调入到寄存器中处理,能够较大程度地提高效率。

static:
静态的,可标识变量亦可标识函数,定义的变量存储在数据区,若定义变量没有初始化,则自动初始化为0,生命周期为整个程序。

extern:
该关键字可标识变量,亦可标识函数。全局变量和静态变量只能被初始化一次,定义的变量存储在数据区,且若该变量定义在头文件中,则引用该头文件的其他文件只为其分配一次内存空间。对于函数而言,默认的存储方式为entern。

C语言中的动态内存申请

静态分配:编译器在编译程序源代码时分配。
动态内存:程序在执行时调用malloc()库函数分配。

动态内存申请
①malloc()
中分配一个长度为size字节的连续空间,并返回一个指向所分配的连续存储首地址的指针。
②realloc()
extern void *realloc(void *p, size_t size);
p为更改内存大小的原空间位置,size为新的内存大小。
③calloc()
malloc函数的简单包装,优点为动态分配的内存初始化为0,语法与malloc()类似。
④alloca()
alloca函数用来在中分配size个字节的内存空间,并且在函数返回时自动释放该内存空间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值