- 博客(4)
- 收藏
- 关注
原创 对指针数组 ; 数组指针 ; 函数指针 ; 函数指针数组 ; 指向函数指针数组的指针的理解
大前提:数组是数组指针是指针,数组和指针没有关系。 判断一个表达式是指针还是数组要看这个表达式先和谁结合。 指针数组:指针数组是一个数组,像int *a[ ] 由于a先和括号结合所以a是一个数组,数组中的元素是指针,故其是一个整型指针数组。 数组指针:数组指针是一个指针,如int (*a)[ ]由于a先和*结合,故a是一个指针,指针中存放数值的地址,其实一个整型数组指针。 函数指针:函数指
2017-12-25 12:36:14 154
原创 c语言小游戏扫雷
利用二维数组以及函数的知识完成。 首先,应定义两个二维数值mine和show。main数组用于存放雷而show数组用于显示给玩家。棋盘设定为可见9*9棋盘。于是show为99的二维数组而main为(9+1)*(9+1)的棋盘,因为在边界仍要经行判断所以将show定义大一圈,并在边界全赋为无雷区。 头文件game.h #ifndef __GAME_H__ #define __GAME_
2017-12-12 14:36:04 301
原创 可变参数列表码的剖析和自己的理解
在之前学习的所有函数中,我们所经行参数的传递,形参实参的个数都是有限的。但是c语言的库函数printf()的参数个数却是不确定。我们称其为可变参数列表。 之后我们经行可变参数列表的模拟实现.在模拟实现过程中,需要用到几个宏: #include va_list arg;\\声明arg va_start(arg,format);\\初始化arg va_arg(arg,type);\\向后移
2017-12-12 14:04:57 208
原创 函数的调用过程,栈帧的创建和销毁
栈帧就是一个函数执行的环境:函数参数、函数的局部变量、函数执行完后返回到哪里等等.栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(低地址)。 下图为程序存储空间 入栈:push eax 出栈:pop eax
2017-12-07 14:32:34 221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人