C语言提高 (一)

一 数据类型
1 “类型”是对数据的抽象;
2 类型相同的数据有相同的表示形式、存储格式以及相关的操作
3 程序中使用的所有数据都必定属于某一种数据类型
4 数据类型分类
1)简单类型
a)基本型:整型、浮点型、字符型、空类型
b)用户自定义类型:枚举(enum)
2) 结构类型
数组、结构体、联合体、类(c++)
3)指针类型
5 数据结构的本质:固定内存大小的别名。
6万能类型void
1)void的字面意思是“无类型”,void *则为“无类型指针”, void *可以指向任何类型的数据
2)void指针意义
a)C语言规定只有相同类型的指针才可以相互赋值
b) void*指针作为左值用于“接收”任意类型的指针
c)void*指针作为右值赋值给其它指针时需要强制类型转换
char *p2 = (char *)malloc(sizoeof(char)*20);

二 变量
1 概念 :既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。
2 本质:一段连续内存空间的别名。
3 修该方法:修改方法:直接 、间接

三 内存四区
1 程序运行时建立流程
1、操作系统把物理硬盘代码load到内存
2、操作系统把c代码分成四个区
3、操作系统找到main函数入口执行
2 各区元素分析
1)栈区:由编译器自动释放,存放函数的参数值,局部变量的值

char *getmem2() 
{ 
   char buf[20];//临时变量,栈区存放 
   strcpy(buf,"12344"); 
   return buf; 
 } 

2)一般由程序员分配和释放,若没释放,程序结束后可能由操作系统回收

char * getmem(intnum) 
{ 
 char *p = NULL; 
p = (char*)malloc(sizeof(char) * num); 
 if (p == NULL) 
     returnNULL; 
 return p; 
} 

3)全局区(静态区 )
4 )常量区:字符串常量和其他常量的存储位置,程序结束后由操作系统释放
5 )代码区

四 指针体铁律
1)指针是一种数据类型:
a)指针也是一种变量ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值