数据结构与算法第一节课总结
发布时间: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 = 1; 2 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 for(int 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 } 前人总结,牢记。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |