上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 常规函数调用,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈中,跳到标记函数起点的内存单元。执行函数代码,然后条回到地址被保存的指令出。来回跳跃并记录跳跃位置以唯着使用函数时,需要一定开销。 C++内联函数 编译器会用函数代码替换函数调用,避免了函数调用时程序跳跃的开销。如果函数 阅读全文
posted @ 2022-06-16 14:47 店里最会撒谎白玉汤 阅读(229) 评论(0) 推荐(0)
摘要: 函数原型描述了函数到编译器的接口。将函数返回值类型和参数类型告诉编译器。在使用函数时,如果参数不正确or返回值不匹配(即使进行隐式的类型转换)编译器将捕获这种错误。 函数原型指出了函数的返回类型,编译器就知道应检索多少字节以及如何解释他们。如果没有编译器只能瞎猜。 不使用函数原型让编译器在文件中找效 阅读全文
posted @ 2022-06-15 20:22 店里最会撒谎白玉汤 阅读(35) 评论(0) 推荐(0)
摘要: c++ 不指定变量的类型,由编译器根据变量的初始值确定。 auto a = 0; // a is int auto b = 0.0; // b is double auto c = 0L; // c is long auto d = 'a'; // d is char c 明示变量为自动存储类型主要 阅读全文
posted @ 2022-06-11 17:37 店里最会撒谎白玉汤 阅读(24) 评论(0) 推荐(0)
摘要: 函数指针 指向函数的指针,存储着函数代码的起始处的地址。 声明数据指针时,要声明指针所指向的数据类型。函数指针要指明函数签名,即参数和返回值 void (*pf) (int n); // 括号的优先级高于*,所以要把*和指针名括起来。 // 可以指向无返回值接收一个整数为参数的函数 函数指针的作用主 阅读全文
posted @ 2022-06-01 17:03 店里最会撒谎白玉汤 阅读(131) 评论(0) 推荐(0)
摘要: const 用const关键字声明的变量,其值不能通过赋值或递增、递减来修改。 const变量只能声明同时初始化。 float val = 10; const float * pf; // pf 指向一个float类型的const值,可以指向其他值,但不能通过pf修改所指的值 // pt是一个con 阅读全文
posted @ 2022-06-01 13:02 店里最会撒谎白玉汤 阅读(37) 评论(0) 推荐(0)
摘要: malloc、calloc、free malloc函数接收一个参数:所需内存字节数,返回一个void指针,需要强制类型转换为对应类型。分配失败返回空指针。 calloc接收两个参数,一个所需存储单元数量,一个是存储单元大小 分配的内存要用free释放,free(pointer) #include<s 阅读全文
posted @ 2022-06-01 10:14 店里最会撒谎白玉汤 阅读(25) 评论(0) 推荐(0)
摘要: auto auto显示表明变量是自动变量,块内局部和函数头局部变量(非静态局部变量)。主要为了明确表达要使用与外部变量同名的局部变量的意图 register 也只用于块作用域,请求变量用寄存器保存,提高处理速度,因为不在内存中所以地址无法获取。只是请求,编译器不一定响应。响应失败就是普通变量 sta 阅读全文
posted @ 2022-05-31 22:39 店里最会撒谎白玉汤 阅读(61) 评论(0) 推荐(0)
摘要: 静态变量是指在内存中原地不动 局部静态变量 使用static关键字在某个块内声明一个变量。 #include<stdio.h> #include<stdlib.h> void fun(void); int main(void) { for(int i=0;i<3;i++) fun(); return 阅读全文
posted @ 2022-05-31 20:20 店里最会撒谎白玉汤 阅读(151) 评论(0) 推荐(0)
摘要: #寄存器变量 变量通常存储与计算机内存中,如果幸运的话,寄存器变量存储在cpu的寄存器中。和普通变量相比,访问和处理速度快,但是不在内存中,无法获取寄存器变量的地址。 使用register关键字,请求变量保存在寄存器中,但编译器会根据寄存器和最快课用内存数量衡量请求,或者忽略请求,不一定会把变量保存 阅读全文
posted @ 2022-05-31 19:22 店里最会撒谎白玉汤 阅读(161) 评论(0) 推荐(0)
摘要: atoi #include<stdio.h> #include<stdlib.h> int main(int argc, char * argv[]) { int sum=0; for(int i=1;i<argc;i++) { sum+=atoi(argv[i]); } printf("%d",s 阅读全文
posted @ 2022-05-31 16:17 店里最会撒谎白玉汤 阅读(44) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 下一页