- 博客(5)
- 收藏
- 关注
原创 malloc,new 及free,delete的区别和联系
内存动态分配方法1.malloc(realloc)/free (1)malloc/free是(libc.soc语言的库函数)。 (2)free释放内存时,不区分单个元素内存和数组分配。 (3)malloc开辟内存失败,返回值和NULL进行判断。 2.new/delete (1)new/delete属于运算符不属于函数。 (2)delete释放内存时,区分单个元素内存和数...
2018-04-15 11:09:14 468 1
原创 const和volatile以及引用
const定义:修饰一个变量,表示不能在作为赋值的左值。 c中: (1)const修饰的变量不一定要初始化。 (2)const修饰的变量变为常变量。 (3)不能作为常量使用,例如定义数组的大小。 (4)常变量的编译方式和普通变量没有区别。 c++中: (1)const修饰的变量必须初始化。 (2)const修饰的变量变为常量。 (3)可定义数组的大小(完全可以当作常量使用)。...
2018-04-15 09:48:13 259
原创 inline函数
简介C++关键字,在函数声明或定义中函数返回类型前加上关键字inline,即可以把函数指定成内联函数。注意关键字inline必须与函数定义放在一起才能使函数成为内联,仅仅将inline放在函数声明前面不起任何作用。**如下风格的函数Foo 不能成为内联函数: inline void Foo(int x, int y); // inline 仅与函数声明放在一起 void...
2018-04-08 13:16:04 652
原创 函数的调用堆栈过程
代码块int sum(int a,int b) { int temp=0; temp=a+b; return temp; } int main() { int x=10; int y=20; int ret=sum(x,y); printf(“ret=%d\n”,ret); return 0; }...
2018-04-03 10:17:38 541
原创 程序编译,链接,运行过程
进程在内存上的布局:在x86体系32位linux内核/操作系统下:每一个进程在运行的时候,系统会为其分配一个以上构造的4G的虚拟地址空间:3G为用户空间(私有)1G为内核空间(共享)对任何一个普通进程:涉及到5种不同段。代码段:用来存放程序的执行代码,大小在程序运行前已经确定,并且只读不可写,也包含一些只读的常数变量,例字符串常量等。数据段:用来存放程序中已初始化的全局变量(静态内存分配)。BSS...
2018-04-01 11:19:54 1202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人