int main()
一个程序放在c:/file/hibari.exe 如果使用命令行、“批处理.bat”去调用,命令会被保存在argv[]数组内 遍历数组即可将所有元素取出
/*argc表示接受参数个数argv[]表示接受参数数组*/int main(int argc, char* argv[]){for(i=0; i<argc; i++){grgv[i];}}
头文件.h
#pragma once //进包含一次头文件#include <stdio.h> //系统饮用(系统查找)#include “hibari.h” //文件引用(文件查找)
全局变量
在“头文件.h”中定义的全局变量, “源文件.c”中需要声明(extern)后才能使用全局变量 静态变量(static) 无法通过声明使用
/* hared.h */int value;/* soure.c */extern int value
程序四区
| 内存划分区域 | 储存内容 | 管理者 | 申请和释放过程 | 可能因为操作不当导致的BUG | 
|---|---|---|---|---|
| 堆区 heap  | 
动态变量 | 由程序员手动申请与释放的动态内存区域 | 使用Malloc/new free/delete 指令分配和释放  | 
不及时释放可能造成(内存泄漏) (例如递归函数不释放内存)  | 
| 栈区 stack  | 
局部变量 | 由编译器(程序自己决定)内存的分配和释放 | 当函数、执行结束后 程序自行释放  | 
当内存被占满时会造成(内存溢出) | 
| 全局\静态区 global  | 
全局变量、 静态变量 常数  | 
由系统分配和释放的内存区域 | 当程序运行结束后, 由系统释放  | 
|
| 代码区 code  | 
函数体的二进制代码 | 由操作系统分配和释放 | 完全由系统托管 | 
作用域
在两个大括号中定义的函数、代码、变量只在大括号内起作用,
超出即被释放
{int a=10;printf("作用域内");void Hibari();{printf("作用域内的函数");}}int a=10;printf("作用域外");void Hibari();{printf("作用域外的函数");}
