c语言学习01

内存的分区

代码区(code zone)
常数区(constant zone)
全局变量区(Global zone)
栈区(Stack zone):调用函数时,函数存在栈区里,调用后消失先进后出
堆区(Heap zone):malloc[手动创建存储空间],free[手动回收内存空间]

函数指针

函数名代表函数在内存中的地址
函数指针指向函数地址
//1.去名留特征 2.(*指针名)定义函数指针变量
3.指向具有该特征的任意函数4.执行
函数指针和数组指针区别:函数指针不存在位移问题
有地址,就调用地址中的函数功能!
int(*p_fun) (int, int);
p_fun = add_int;
printf(“%d\n”, p_fun(30, 40));//显式调用
printf(“%d\n”, (*p_fun)(30, 40));.//隐式调用

typedef

根据既有类型 创建新的类型名称

指针的类型

int* p;基本类型指针
int(*p1)[4];一维数组指针
int(*p2)[4][4];二维数组指针
typedef
在这里插入图片描述

const 修饰一个变量让它变成常量
const放到谁的前面,谁就不可改
宏不是函数,只是简单的替换

全局变量和局部变量

全局变量int i;默认值为0;
小范围内局部变量占主导;
只要赋值了就等于创建新变量;
不赋值才叫声明;

static int c;默认值是0//静态全局变量,创建之后放于全局变量区,但是只能函数内访问;
栈区会二次创建,全局区域的不会消失;
栈中的数据会自动创建,自动回收;

int a;
a = 10 ;
return &a;

int* a = malloc(sizeof(int)); //无类型指针
int* arr = calloc(5, sizeof(int));
*a = 10;
return a;
free(a);释放地址
free(arr);

递归

向下传递一套逻辑----终止条件----向上回归
函数自身调用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值