做新闻类网站,蒙牛企业网站建设(分析)与推广,东莞网络优化专注乐云seo,wordpress 万网搬家变量 定义和初始化 C/C中要先定义变量#xff0c;如果未初始化#xff0c;其值一般是不确定的 Java中变量使用前#xff0c;须初始化或赋值#xff08;实例化时#xff0c;类中的全局变量会自动被初始化为默认值#xff09; Matlab中变量在写入时不需预先定义#xff0c… 变量 定义和初始化 C/C中要先定义变量如果未初始化其值一般是不确定的 Java中变量使用前须初始化或赋值实例化时类中的全局变量会自动被初始化为默认值 Matlab中变量在写入时不需预先定义但在读取时应该已被定义 数组长度 C中数组长度固定可用malloc函数扩展内存空间并复制已有值到新开辟的连续内存空间 C/Java中长度可用new获取新的内存空间并复制已有值到新开辟的连续内存空间 Matlab中变量长度、维度在写入时都可以自动扩展为了提高性能最好避免变量纬度自动扩展而是预先定义空的多维变量如二维char型数组 a [;]; 注意Matlab变量长度的自动扩展只在写入变量时发生读取变量时则不可访问越界 例如对于定义的变量a[1 2;3 4]赋值语句a(5,5)1会自动扩展而ba(10,10)则会访问越界出错 数组的比较 C语言对于字符串可用strcmp函数其他类型要循环逐个比较 Matlab字符串可用strcmp函数。维度、长度相同的任意类型数组可直接用比较比较结果也是同样大小的数组为1则对应位置的值相等为0则不等 自增操作 C/C/Java可用 x或x Matlab只能 x x1; 数组下标 C语言 下标从0开始用中括号表示。如a[0]二维数组a[0][1] Matlab下标从1开始用小括号表示如a(1)二维数组a(1, 2) 字符串的表示 C语言中用双引号test Matlab用单引号 test 字符串复制常用方法 // C中不能用等号赋值等号赋值只是指针的复制 C语言strcpy(a, b); // C中可重载操作符“”实现等号复制字符串 C/JavaString b new String(a); % Matlab中视情况而定ba可以复制整个字符串变量。如果b是二维char型数组则可用 b(2, 1 : length(a)) a来复制。b的长度不够会自动扩展a的长度不足则会补空格。 Matlab: b a; b(2, 1 : length(a)) a; 运算符 求余 C语言: a % b Matlab: mod(a, b) 不等于 C语言: ! Matlab: ~ 循环的写法 // c语言 for(i 0; i n; i) { // i 0 ~ n-1 } % matlab for i 1 : n % i 1 ~ n end 条件分支结构 // c if(a0) { } else if(a1) { } else { } % matlab if a0 elseif a1 else end 函数定义 C语言函数只能有一个返回值多个返回值可通过定义结构体、使用指针作为参数传入函数实现 Matlab函数可有多个返回值通过[a b] func()获取 代码优化 Matlab中尽可能多使用矩阵变换运算而少采用循环的方式 本文首发自我的个人网站转载请注明来源http://www.hainter.com/matlab-c-java