精华内容
下载资源
问答
  • 默认情况下,MATLAB会将所有数值变量存储为双精度浮点值。其他数据类型可在单个变量中来存储文本、整数或单精度值,或者相关数据的组合。所有数值类型都支持基本的数组运算,例如添加下标、重构和数学运算。15种数据...

    MATLAB中一共有15种基本的数据类型,可以大致分为6类,分别是数值型,字符型,结构体,单元,多维矩阵和稀疏矩阵。其中数值型数据有四种类型,分别为双精度,单精度,带符号整型和无符号整型。默认情况下,MATLAB会将所有数值变量存储为双精度浮点值。其他数据类型可在单个变量中来存储文本、整数或单精度值,或者相关数据的组合。所有数值类型都支持基本的数组运算,例如添加下标、重构和数学运算。

    d7d5c71f8c36e6eedc4261976796a6ab.png15种数据类型

    数值型数据类型的建立:a=1;

    建立double型数据a,值为1。

    b=uint8(a);

    a转化为uint8类型,uint指的是无符号整型,位宽为8位。之后将a赋值到b中。在赋值的过程中,a的类型不发生改变。

    a=uint8(a);

    a转化为uint8类型

    a=double(a);

    a转化为双精度类型

    474dfb52cc91ef7222623ddd4906e1ac.png举例

    字符串数据类型的建立:使用单撇号``括起来的字符序列,比如

    CAD=`Computer Aided Design`

    注意与C语言的区别,在C语言中,字符串使用双引号括起来的,单个字符使用单撇号括起来。而在MATLAB中单个字符和字符串都用``括起来

    字符串操作

    字符转化为ASCII值输出时,使用double函数或者abs函数。

    使用double函数时:

    语法:double(`a`);

    输出字符a的ASIC码

    ASCII转化为字符输出时,使用Char函数。

    语法:char(63);

    输出ASCII码63所代表的字符

    字符串与数值的互换:

    str2num函数

    num2str函数

    在界面的操作中经常会使用到

    例子:比如说某一个空列,我们输入某一个数字以后,我们能获得的是界面的string属性,比如说我们输入1234,得到的是1234这个字符串而不是1234所代表的的数值。?

    如果我们要获得1234这个字符串所代表的数值,那么使用str2num,之后就获得这个字符串所代表的的这个数值

    Num2str获得某一个字符,可以将某一个数字转换为字符串

    执行字符串内容

    Eval函数

    Eval(‘t=1’);

    将字符串‘t=1’作为MATLAB语句执行,即上面的语句执行结果为将1赋值给变量t

    结构体数据类型的建立:结构体.成员名=表达式

    当我们建立结构体函数之后,可以使用结构体函数,对结构体进行操作。结构体函数有很多,常用的结构体函数,我们在下面进行了介绍。总的来说,一共有五个结构体函数,它们分别是isstruct函数、 fieldnames函数、 isfield函数、 rmfield函数和 getfield函数。这些函数在输入时,都 必须以小写的形式输入,不能出现大写

    isstruct

    判断是否为结构体

    是输出1,不是输出0

    fieldnames

    返回这个结构体所包含的所有成员

    isfield

    判断结构体重是否包含某个成员名

    rmfield

    删除某个成员名

    getfiled

    增添某个成员名

    单元类型数据类型的建立:使用{}裹起来建立

    内部的数据可以包含不同的数据类型

    03523493cb8521fddeaa3feff199b7ff.png

    展开全文
  • 变量名与变量地址的一些理解

    千次阅读 多人点赞 2017-12-23 13:33:03
    今天看了各位大咖写的博文,受益良多,我对变量名与变量地址的区别又有了进一步的了解。要想彻底理解变量名与变量地址,能有一些《计算机组成原理》里与存储器相关的知识储备,和《数据结构》里有关堆栈的内容。 在...
        今天看了各位大咖写的博文,受益良多,我对变量名与变量地址的区别又有了进一步的了解。要想彻底理解变量名与变量地址,能有一些《计算机组成原理》里与存储器相关的知识储备,和《数据结构》里有关堆栈的内容。
    

    不想点这个链接可以看此链接下面的截图

    http://blog.csdn.net/u012503217/article/details/46564451

    C中的内存分布

    下面这篇博文详细论述了C语言内存分布的方式,仅作了解。
    

    http://blog.csdn.net/youoran/article/details/10990815

    这篇博文对于初学者来说不是很容易看懂,你可以先作为存货,日后再看,绝对有收获。其实目前不懂这些也没有什么太大的关系,接着往下看。你也可以像我这样,自己写个小程序去运行一下。
    

    下面是我自己的一些理解,不权威,但至少也是我看了很多的相关内容所做的一些理解,应该还不太成熟,但至少对于第一次学C语言的人来说,作为初步理解是完全没有问题的。

        变量名是对某块地址的统称,这块地址占多少个空间,占多少个二进制代码,是取决于此变量名的类型。比如 int 整型,占的位置是四个空间(这4个空间是固定的,是取决与你的编译器的)。在内存中有一个专门的地方来存用户定义的变量。计算机通过变量名去找到变量地址,从而找到变量的地址里放的数据。举个例子:
        #include<stdio.h>
        int main()
        {
            int a;
            printf("%d\n",a);
            printf("%p\n",&a);
            return 0;
         }
    

    这段代码的意思很明确:
    int main()

    定义一个整型变量a,但并不对其初始化;
    输出a的值;
    输出a的地址的值;
    程序正常退出。

    然后我们运行一下这个代码,得到的结果是:
    这里写图片描述
    在编译器没有warring 没有error 的前提下,这里我们看到这里并没有输出a的值,输出的只是a在内存中的地址,这个地址是十六进制输出,是一种 对应硬件存储单元的编号。我们不妨这样理解,C语言是面向程序设计的语言,为了方便程序员的记忆和理解,把长长的变量地址简记为a 。有兴趣你可以试一下,你的编译器,不管你定义一个变量的名字叫什么,叫a,b或者是c,对于 int 来说,第一个被定义的变量 的变量地址总是相同的。并且第一个变量的变量地址与第二个变量的变量地址 的差值,就是你第一个变量所占的存储内存空间个数。也就是说,你的变量地址的大小,是根据你定义变量的顺序和你所定义的变量的类型来决定的。(int 只是这里举的例子,对于char 、double等,只要是同一类型的,都是一样的道理。)
    比如,你可以写一段这样的代码在你的编译器上试试:

        #include<stdio.h>
        int main()
        {
            int a;
            int b; 
            int c;
            int d;
            printf("%d\n",a);
            printf("%p\n",&a);
            printf("%d\n",b);
            printf("%p\n",&b);
            printf("%d\n",c);
            printf("%p\n",&c);
            printf("%d\n",d);
            printf("%p\n",&d);
            return 0;
            }
    

    运行 ,得到的结果是这样的:

    这里写图片描述

    在上面的那个运行结果,并没有输出变量的值(为什么?可以先作为一个问题保留一下,下次再讲),本次运行对于这些没有初始化的变量,有了输出的值,这些值是随机的(在这里看起来是在0、1之中随机噢,下次再做深入探讨)。然后我们仔细看一下这个变量地址的规律,第一个被定义的变量值最大,第二个被定义的次之,第三第四依次减小(这其实是类似于“栈”的存入方式:先定义的 先进去,存在栈底,数值最大;后定义的 后进去,存在栈顶,数值最小)。

    我们可以清楚的看到,第一个和第二的变量地址差值为4 。正好与前面所说的一致。

    为了证明我所说的地址的分配是按照我们定义变量的顺序来的,我们可以把第二段程序中的a、b的定义顺序换一下,不改变其输出顺序。
    这里写图片描述
    很明显,地址最大的那个,是在改动后的程序中最先定义的b 。

        我是一个有这谦卑姿态的学生,对所学的知识坚持弄清每一点的学生。如果上面写的有任何问题,欢迎批评与讨论。
    
        这篇文章大概也没有人会看吧。这只是我的学习笔记,最后对我自己说一句:书山有路勤为径。
        @青山遮不住 You bless me.
    
    展开全文
  • 变量名,对象名的含义

    首先了解内存,内存就是一排房间,编号从0开始,0,1,2,3,4,5……

    房间里面一定要住人,新人住进去了,原来的人就走了;不管你住不住,里面都有人、

    编号就是地址、里面的人就是内容,为了我们(人)记着方便,我们给他们起些名字,如张三、李四、于是,

    变量,就是一个房间,它有编号(地址),他有名字(变量名),他有内容(里面的人)、

    int a = 3; // a 是名字,3 是内容,地址可以假设是0x 12345678 (通常就是32位地址)、

         // 0x12345678 这个房间里面住的是一个int,
    

    所谓指针变量,就是一个房间,他里面的内容,可以放个地址;如

    int *pi = &a; // pi 是名字,内容就是a的地址,0x12345678; 所以,你懂的,

            // 我们知道你家地址,你说,我能找到你吗??于是
    

    *pi = 4; // 就是通过pi,也就是a 的地址,把a的内容改成4了、

    pi 的类型int*, pi就是个指针(变量)、

    好吧,变量的别名,就相当于外号,

    int & b = a; // 同样的0x12345678 这个房间,刚才他有个名字a,现在又有个名字b了、

    b = 10; // 也就是 a = 10;

    a = 100; // 也就是 b = 100;

    int& 就是引用类型,int& b = a;

    意思,就是b是对a 引用,也就是b 是a 的别名、a就是b,b就是a

    其实,变量名字神马的都是浮云。
    假设有一个整型变量(也就是int型),它放在内存0x0023F920中(其实是从0x0023F920~0x0023F923四个字节),
    这个变量我声明的时候是这样的:int a=3; 那么我们可以知道:这个整型变量的地址是:0x0023F920,它的名字是a,
    它的值是3,‘a’就是一个代号,一个名字,方便程序员书写程序,当编译器看到a时,看到a=10时,编译器就会把0x0023F920开始
    的四个内存单元中的值改为10,仅此而已。所以无论是整型变量也好,指针变量也好,我们要把“变量名”和“变量”这两个概念区分开,
    就像把“人的姓名”和“人本身”区分开一样。
    此外,关于指针的类型,我们知道有int ,char ,double 等等。如果对一个int 型的指针解引用,那么会连续读四个字节,如果
    对一个char 型的指针解引用,则只会读一个字节,同样道理,double 读八个字节,这是怎么实现的呢?其实反映在汇编代码上很简单。
    比如有 int * a;b=*a; 对应汇编代码: move acx, dword ptr [a] move dword ptr[b],acx
    //原文链接:http://www.cppblog.com/wuzimian/archive/2012/05/23/175899.aspx?opt=admin

    展开全文
  • c语言变量名、函数名的命名规则

    万次阅读 多人点赞 2019-04-10 14:11:31
    即: 变量名=变量类型+变量的英文意思(或英文缩写、中文全拼、中文全拼缩写) 对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在 函数 的开始处。 见下表:   bool 用b开头 b标志寄存器 int 用i...

    (1)标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解——尽量采用采用英文单词或全部中文全拼表示,若出现英文单词和中文混合定义时,使用连字符“_”将英文与中文割开。较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。例如:temp->tmp、flag->标志寄存器、statistic->stat、increment->inc、message->msg等缩写能够被大家基本认可。
    (2)命名中若使用特殊约定或缩写,则要有注释说明。应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。
    (3)自己特有的命名风格,要自始至终保持一致,不可来回变化。个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。
    (4)对于变量命名,禁止取单个字符(如i 、j 、k... ),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的。变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。
    (5)除非必要,不要用数字或较奇怪的字符来定义标识符。
    (6)命名规范必须与所使用的系统风格保持一致,并在同一项目中统一。
    (7)在同一软件产品内,应规划好接口部分标识符(变量、结构、函数及常量)的命名,防止编译、链接时产生冲突。对接口部分的标识符应该有更严格限制,防止冲突。如可规定接口部分的变量与常量之前加上“模块”标识等。
    (8)用正确的反义词组命名具有互斥意义的变量或相反作用的函数等。

    下面是一些在软件中常用的反义词组。

    add / remove begin / end create / destroy
    insert / delete first / last g et / release
    increment / decrement put / get
    add / delete lock / unlock open / close
    min / max old / new start / stop
    next / previous source / target show / hide
    send / receive source / destination
    cut / paste up / down
    示例:
    intmin_sum;
    intmax_sum;
    intadd_user( BYTE *user_name );
    intdelete_user( BYTE *user_name );

     

    (9)除了编译开关/ 头文件等特殊应用,应避免使用_EXAMPLE_TEST_ 之类以下划线开始和结尾的定义。


    变量名的命名规则

    (1)变量的命名规则要求用“匈牙利法则”。
    即开头字母用变量的类型,其余部分用变量的英文意思、英文的缩写、中文全拼或中文全拼的缩写,要求单词的第一个字母应大写。
    即: 变量名=变量类型+变量的英文意思(或英文缩写、中文全拼、中文全拼缩写)
    对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
    见下表:

     

    bool 用b开头 b标志寄存器
    int 用i开头 iCount
    short int 用n开头 nStepCount
    long int 用l开头 lSum
    char用c开头 cCount
    unsigned char 用by开头
    float 用f开头 fAvg
    double 用d开头 dDeta
    unsigned int(WORD) 用w开头 wCount
    unsigned long int(DWORD) 用dw开头 dwBroad
    字符串 用s开头 sFileName
    用0结尾的字符串 用sz开头 szFileName

     

    (2)指针变量命名的基本原则为:

    对一重指针变量的基本原则为:“p”+变量类型前缀+命名,如一个float*型应该表示为pfStat。对二重指针变量的基本规则为:“pp”+变量类型前缀+命名。对三重指针变量的基本规则为:“ppp”+变量类型前缀+命名。
    (3)全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount。即:变量名=g_+变量类型+变量的英文意思(或缩写)。此规则还可避免局部变量和全局变量同名而引起的问题。
    (4)静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst。即: 变量名=s_+变量类型+变量的英文意思(或缩写)
    (5)对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。如:

     

    enum cmEMDAYS
    {
    EMDAYS_MONDAY;
    EMDAYS_TUESDAY;
    ……
    };

     

    (6)对struct、union变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致。
    结构一般用S开头,如:

    struct ScmNPoint
    {
    int nX;//点的X位置
    int nY; //点的Y位置
    };

    联合体一般用U开头,如:

    union UcmLPoint
    {
    LONG lX;
    LONG lY;
    }

    (7)对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。当需要由多个单词表示时,单词与单词之间必须采用连字符“_”连接。

    如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类别。

    (8)对const 的变量要求在变量的命名规则前加入c_。即:c_+变量命名规则;示例:const char* c_szFileName;

     

    函数的命名规范

    (1)函数的命名应该尽量用英文(或英文缩写、中文全拼、中文全拼缩写)表达出函数完成的功能——函数名应准确描述函数的功能。遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度不得少于8个字母。函数名首字大写,若包含有两个单词的每个单词首字母大写。如果是OOP 方法,可以只有动词(名词是对象本身)。示例:

    LONG GetDeviceCount(……);
    void print_record( unsigned int rec_ind ) ;
    intinput_record( void ) ;
    unsigned char get_current_color( void ) ;

    (2)避免使用无意义或含义不清的动词为函数命名。如使用process、handle等为函数命名,因为这些动词并没有说明要具体做什么。

    (3)必须使用函数原型声明。函数原型声明包括:引用外来函数及内部函数,外部引用必须在右侧注明函数来源: 模块名及文件名;内部函数,只要注释其定义文件名——和调用者在同一文件中(简单程序)时不需要注释。
    应确保每个函数声明中的参数的名称、类型和定义中的名称、类型一致。


    函数参数命名规范

    (1)参数名称的命名参照变量命名规范。
    (2)为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。
    (3)为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误,应该在入口参数前加入const标志。

    如:……cmCopyString(const CHAR * c_szSource, CHAR * szDest)

    文件名(包括动态库、组件、控件、工程文件等)的命名规范文件名的命名要求表达出文件的内容,要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名。

    展开全文
  • c语言变量名规则

    万次阅读 2012-06-01 09:10:42
    c语言变量名规则 在程序设计中,变量名、函数名、数组名等统称为标识 符。简单地说,标识符就是一个名字。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能由字母(a~z,A~Z)...
  • c语言中结构体类型变量类型,结构体变量名赋值 这几天看图用领接表存储图时候,开始实现的时候发现对结构体的变量名赋值有些疑惑,疑惑的地方查了下,留做备份 //此声明声明了拥有3个成员的结构体,分别为整型的a,...
  • 变量、变量名、标识符的区别 变量 变量提供了程序可以操作的有名字的存储区。C++ 中的每一个变量都有特定的类型,该类型决定了变量的内存大小和布局、能够存储于该内存中的值的取值范围以及可应用在该变量上的操作...
  • 利用反射获取Java类中的静态变量名及变量值. JAVA可以通过反射获取成员变量和静态变量的名称,局部变量就不太可能拿到了
  • C语言变量名命名规则

    万次阅读 2016-02-25 10:55:10
     ④、静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即: 变量名=s_+变量类型+变量的英文意思(或缩写)  ⑤、成员变量用m_开头,如一个长型成员变量定义为m_lCount;即:变量名=m_+变量类型+变量的...
  • C++中的变量命名,float和double

    千次阅读 2020-06-14 16:35:42
    C++中变量名(标识符)只能由字母、数字和下划线3种字符组成; 名称第一个字符必须为字母或下划线,不能是数字; 变量名不能包含除_以外的任何特殊字符如:#、%、逗号、空格等…; 不能使用保留字(74个保留字)也称...
  • Swift 变量名、print的基本用法

    千次阅读 2016-10-10 01:16:24
    Swift 变量名 Swift print的基本用法
  • JavaScript中函数或变量名前加下划线

    千次阅读 2019-01-02 17:20:36
    在JavaScript的变量名或函数名前加“_” 。 在变量名或函数名前加下划线,一般表示“私有”。是约定俗成的开发规范,没有强制限制,类似于类名首字母大写。 加下划线,还能有效防止重名。 通常变量前加下划线...
  • js中不能做变量名的字符

    千次阅读 2019-01-21 10:31:58
    js中不能做变量名的字符 JavaScript中不能作为变量名的关键字和保留字总结:  1、js中的关键字:   break case catch continue default delete do else finally ...
  • 判断C语言变量名是否合法

    万次阅读 2010-07-07 22:40:00
    C语言实现判断变量名是否合法:   代码:   #include #include #include int main(){ int n,i,flag,len,flag1; char *ss[]={"auto","break","case","char","const","continue","default","do","double",...
  • 3、变量名: 1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。 2) 不能把关键字和保留字作为标识符。 3) 标识符没有长度限制。 4) 标识符对大小写敏感。 4...
  • C语言中变量名的命名规则

    万次阅读 2012-07-24 21:05:13
    C语言中变量名的命名规则  1、严格采用阶梯层次组织程序代码:   各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如:   2...
  • vue 在style:background-image中引入图片以及在img引用变量名的本地图片 因为项目用了vue-cli,直接写本地路径会有问题 <img :src="'@/assets/images/activity/double9/coupon'+item.price+'.png'"> 复制代码...
  • 有了前面两篇的基础,下面正式开扒变量名和内存的关系,先看一段大家很熟悉的代码: int i;  scanf_s("%d", &i); int i;,在这一句就为i分配了内存(但尚未对这块内存进行初始化),所以可以通过&i直接使用这块内存。...
  • JavaScript中不能作为变量名的关键字和保留字总结: 1、js中的关键字: break case catch continue default delete do else finally for function if in ...
  • 定义一个为Circle的类,其中含有double型的成员变量centerX 和centerY表示圆心坐标,radius表示圆的半径。 定义求圆的面积方法getArea()方法和求圆周长的方法getPerimeter()。为半径radius定义方法和修改方法...
  • 首先在C语言中,输入变量的语法是:scanf("格式控制",...为了得到变量的地址,需要在变量前加一个&(称为取地址运算符),也就是“&变量名”的写法。 补充:常见数据类型变量的scanf格式符 数据类型 格
  • 在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提供一个RPC接口的时候,我们一般会定义一个字段表示本次请求是否成功的。 关于这个”本次请求是否成功”的字段的定义,其实是有很多种讲究...
  • 变量

    千次阅读 2020-07-04 11:36:27
    数据类型 变量名;//创建了一个变量 变量名=数据值;//赋值,将右边的数据值,赋值交给左边的变量 一步到位格式: 数据类型 变量名 = 数据值;//在创建一个变量的同时,立刻放入指定的数据值 public class Demo02...
  • auto else long switch break enum register typedef ...double _Bool _Complex _Imaginary inline restrict _Alignas _Alignof _Atomic _Generic _Noreturn _Static_assert _Thread_local
  • 这是一段c++程序,请问中间那句 double r(3.0)是什么意思?为何 3.0用括号包着?r又不是一个函数。。 ![图片说明](https://img-ask.csdn.net/upload/201509/04/1441339278_907141.png)
  • Java面试官:兄弟,你确定double精度比float低吗?

    万次阅读 多人点赞 2019-03-31 07:25:46
    这时候,我就会选择一种省时省力省心的做法——将变量名命名为类型名。比如说:” Map map ; List list ; “最好, 变量声明的地方要离第一次使用的地方近 。否则的话,代码阅读起来会很困难,因为人眼睛接受...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 297,457
精华内容 118,982
关键字:

double变量名