实验1 网络安全深入c编程

实验1 网络安全深入c编程

ID:11126703

大小:68.00 KB

页数:9页

时间:2018-07-10

实验1 网络安全深入c编程_第1页
实验1 网络安全深入c编程_第2页
实验1 网络安全深入c编程_第3页
实验1 网络安全深入c编程_第4页
实验1 网络安全深入c编程_第5页
资源描述:

《实验1 网络安全深入c编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程名称:《计算机网络安全》《计算机网络安全》实验讲稿授课教师:许玉龙适用于计算机应用技术专业课程简介•课程名称:计算机网络安全•课程类别:专业必修课•授课对象:计科专业•学时:54学时(理论36,实验18)•学分:3学分•考核方法:课程设计+实验+试卷•使用教材:清华大学出版社《网络安全基础应用与标准》•先修课程:C/C++程序设计、计算机网络、数据库原理等实验一:深入C/C++编程主要内容一、对内存空间的理解二、函数相关三、对数组的理解四、指针与数组五、结构体一、对内存空间的理解主讲内容:在C中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区

2、。  栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。  堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。用new或malloc分配内存时,必须要对此指针赋初值。用delete或free释放内存后,必须要将指针指向NULL不能修改指向常量的指针数据9课程名称:《计算机网络安全》  自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己

3、的生命的。  全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C里面没有这个区分了,他们共同占用同一块内存区。  常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多,在《const的思考》一文中,我给出了6种方法)首先,我们举一个例子:voidf(){int*p=newint[5];}  这条短短的一句话就包含了堆与栈,看到new,我们首先就应该想到,我们分配了一块堆内存,那么指针p呢?他分配的是一块栈内存,所以这句话的意思就是:在栈内存中

4、存放了一个指向一块堆内存的指针p。在程序会先确定在堆中分配内存的大小,然后调用operatornew分配内存,然后返回这块内存的首地址,放入栈中,他在VC6下的汇编代码如下:00401028push14h0040102Acalloperatornew(00401060)0040102Faddesp,400401032movdwordptr[ebp-8],eax00401035moveax,dwordptr[ebp-8]00401038movdwordptr[ebp-4],eax  这里,我们为了简单并没有释放内存,那么该怎么去释放呢?是deletep么?澳,错了,应该是de

5、lete[]p,这是为了告诉编译器:我删除的是一个数组,VC6就会根据相应的Cookie信息去进行释放内存的工作。函数体中的指针或引用常量不能被返回Char*func(void){ charstr[]=”HelloWord”; //这个是不能被返回的,因为str是个指定变量,不是一般的值,函数结束后会被注销掉 returnstr;}函数体内的指针变量并不会随着函数的消亡而自动释放问题:栈内存使用下面程序运行有什么问题?char*GetString(void){    charp[]="helloworld";    returnp;//编译器将提出警告}voidTest4(

6、void){     char*str=NULL;     str=GetString();//str的内容是垃圾     cout<

7、dfun(charc)//passbyvaluevoidfun(char*str)//passbypointervoidfun(char&str)//passbyreference如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递省去了临时对象的构造和析构函数的返回类型不能省略,就算没有也要加个void三、对数组的理解//数组……chara[]=”HelloWord!”;charb[10];strcpy(b,a);if(strcmp(a,b)==0){}//指针……chara[]=”HelloWord!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。