C的存储器和指针

Head First C的读书笔记

首先来理解下存储器,存储器分为

1 栈(用来保存局部变量,每当调用函数的时候,函数中的所有局部变量都会在栈上创建)

2 堆 (用于动态存储,程序在运行时创建的一些数据)

3 全局变量 (位于所有函数以外,并对所有函数可见。程序一开始时就会创建全局量,可以修改)

4 常量段 (一开始运行就创建,保存在只读存储器,所有不可以修改。)

5 代码段 (只读,加载机器代码)

例子:

int y = 1;
int main()
{
    int x = 4;
    return 0;
}
y在全局位置,所以它存放于全局量段,假设地址为0x1 000 000,值为1.

x在局部变量,存放于栈上,假设地址为0x4 100 000,值为4.


好累。。。我放弃。。。


函数指针的定义

int (*test_fn)(int) 前面的int为返回类型 test_fn为指针变量 ()中的int为参数

函数指针数组

void (*test_fn[])(t_f) void为返回类型 test_fn[]为函数指针数组 t_f为函数指针


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值