摘要:
(1)初始值不是0的全局变量 在程序调到main()函数执行前,除了要进行内存清零、初始化堆栈外,还需要将全局变量的初始值加载到RAM的指定区域(编译过程中为全局变量分配的空间)。(2)未初始化的局部变量 实际的编译后的反汇编程序也看不到这些局部变量的初始化。这些局部变量占据哪些还未被使用的内存或者其他函数中局部变量释放的空间。倘若是后者,其他函数局部变量释放的空间并没有清零,所以使用这些释放空间的局部变量就一开始被赋值了,这是需要程序员小心的。void function(){unsigned char k,j; //k,j都未被初始化if(k<j) ; else{}}(3)函数的优化实
阅读全文
posted @ 2013-12-10 14:52
amanlikethis
阅读(878)
推荐(0)
编辑
摘要:
说明:以指针数组int *p[3]和数组指针int (*p)[3]为例说明。一、概念性区别1、指针数组与数组指针的区别已知:“[]”比“*”的运算级别高分析: (1)int *p[3]是一个指针“数组”,有三个元素 (2)int (*p)[3]是一个指向列元素有三个的二维数组的“指针”2、数组指...
阅读全文
posted @ 2013-12-10 08:58
amanlikethis
阅读(594)
推荐(0)
编辑
摘要:
一、main的参数 形式:int main(int argc,char *argv[]) 参数argc、argv可以被看做是main函数的形参,argc是整型变量,代表的是参数的个数;argv是指向字符串的指针数组,通过argv[i](i代表第几个参数)可以访问到相应的参数(字符串)。二、参数传入方式 在何处把实参值赋予main函数的形参呢?mian函数的参数值是从命令行上获得的。 形式:可执行文件名 参数 参数······注意:可执行文件名被算作第一个参数三、实验环节实验源代码#include int main(int argc,c
阅读全文
posted @ 2013-12-10 08:56
amanlikethis
阅读(285)
推荐(0)
编辑