设为首页 加入收藏

TOP

C语言的学习整理(三)
2016-12-06 20:24:00 】 浏览:607
Tags:语言 学习 整理
t)

函数原型:void* calloc(size_t,size_t);

与malloc的区别:分配空间并且对被分配的内存空间按字节清零

堆内存分配函数:realloc(void *,size_t)

函数原型:void* realloc(void *,size_t);

从某一个地址开始分配size_t个内存空间

5、栈区:申请内存的模式采用先进后出,后进先出。

栈底的地址高,栈顶的地址低。

先入地址高,后入地址低。

栈区的内存空间在8M左右

栈区分配内存的测试

char str[8383240] = {0};

二、全局变量,局部变量

一个大括号看作一个作用域;在不同作用域内,变量可以重命名。

局部变量作用域其优先级别比全局变量优先级别更高

全局变量作用域更大,相对于局部变量。

·DAY_9 C语言函数指针

一、函数指针的定义:指向函数的指针

整型指针的定义:指针类型 指针变量

指针的重定向

函数名是一个地址

定义一个指针指向函数

定义一个函数指针(类型:具有两个整型参数(一个为整型数组,一个为整型))无返回值的函数指针)

void (*p)(int *,int) = NULL;

指针p是一个整型,函数sum是具有两个整型参数,一个整型返回值的函数,因此类型不匹配

int *p = NULL;p = sum;//错误

int (*p)(int ,int) = NULL;

p = sum;

通过指针名调用函数

int a = p(10,20);

二、取别名(为函数指针取别名)

为具有两个整型参数,一个整型返回值的函数指针类型取别名

在函数指针最前面加上typedef,去掉=以及右边的东西,此时指针名就成为了类型名

typedef int (*P)(int,int);

//通过别名定义函数指针

P p = NULL;

//将指针p指向sum函数

p = sum;

//通过指针调用

int a = p(10,10);

三、函数回调

第一步:用一个函数实现功能a;

第二部:将需要封装的代码拿出来作为函数b,在a的实现里进行调用;

第三步:定义一个函数指针类型和b一样,作为a的参数,将a实现体中b函数名换成指针名。

函数指针作为函数参数,函数调用时传入函数地址.

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇socket多人聊天程序C语言版(二) 下一篇C语言 - 流文件

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目