日期:2014-05-20  浏览次数:20661 次

向大家请假几个问题,会的帮忙解决一下,不会的也来帮忙顶顶!!
1、递归算法和非递归算法有些什么区别?
2、struct是值类型还是引用类型?为什么?
3、char,nchar,varchar,nvarchar的区别?

------解决方案--------------------
3.char是定长的 varchar不是定长的 nchar 跟 nvarchar是支持unicode字符的
我的理解是这样 可能不太准确
------解决方案--------------------
1.递归就是调用自己吧 跟实现同样功能的非递归算法比 效率可能低一些 别的就不知道了
------解决方案--------------------
1)递归,如
void f(int n)
{
if(n <1)
return;
f(n-1);
}
2)struct是值类型
3)char单个字符,nchar unicode单个字符,
varchar可变长的字符串,nvarchar unicode可变长的字符串

------解决方案--------------------
1、递归算法和非递归算法有些什么区别?
函数内调用函数自身,一般设有特定条件返回,每次递归都增加栈深度,使用要谨慎

2、struct是值类型还是引用类型?为什么?
关键字区别,供特定编译器参考,也可以在放在堆内

3、char,nchar,varchar,nvarchar的区别?
前面带n的是用unicode编码存储,
var是变长字符串类型,在规定长度内自动改变长度,否则用 ' '填满(是不是空格没仔细看,不太用这些类型)
不明确类型的时候前面+N

错误是难免的,抛砖引玉了