加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数据结构与算法第一节课总结

发布时间:2020-12-16 09:18:17 所属栏目:百科 来源:网络整理
导读:一、实参与形参的结合方式 1.传值传递 这一种方式是单向的,也就是说最终形参的变化并不会影响实参的变化值。 2.传址传递() 这一种方式是双向的,相当于形参是实参的另一个别称,这样形参的变化就会影响实参的值。(即实参与形参均指向相同的地址) 二、在

一、实参与形参的结合方式

1.传值传递

这一种方式是单向的,也就是说最终形参的变化并不会影响实参的变化值。

2.传址传递(&)

这一种方式是双向的,相当于形参是实参的另一个别称,这样形参的变化就会影响实参的值。(即实参与形参均指向相同的地址)

二、&在c/c++中的作用

1.取地址:

1 int *p=&a;

这行代码的意思是说声明一个指针p指向a的地址。

2.引用:

如传址传递。

3.按位与:

按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只要对应的二个二进位都为1时,结果位就为1。

4.&&表示且的关系

三、const &a与传值传递的区别:

1 template<class T>
2 T abc(const &a,const &b,const &c)
3 {
4 return a+b*c
5 
6 }

?

在上面一个例子里,前者比后者的更加节省内存,后者的需要进行声明内存和删除内存的处理,所以前者更优。

四、*在c/c++中的作用:

1.乘法

2.声明指针

3.取指针所对应地址的值:

如:

1 int *a = 12 int b = *a;

?五、条件编译:

1 /*写在文件开头*/
2 #ifndef XXX
3 #define XXX
4 
5 
6 
7 /*写在文件结尾*/
8 #endif

条件编译的作用主要是为了防止重复声明。

六、为一个二维数组分配内存空间

 1 template<class T>
 2 bool make2dArrray(T ** &x,int numberOfRows,int numberOfCloumns)
 3 {//创建一个二维数组
 4   
 5    try{
 6 
 7        //创建行指针
 8        x = new T* [numberOfRows];
 9       
10       //为每一行分配空间
11       forint i=0;i<numberOfRows,i++)
12           x[i] = new int [numberOfColumns];
13    return true;
14        
15      }
16    catch(bad_alloc){return false;}
17 
18 
19 }

前人总结,牢记。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读