python变量定义和java变量定义有什么区别_C,C,C#,Java和Python中的声明,定义,初始化...

C/C++:

一个声明是一个声明,说“这里是一些东西的名称和事物的类型,但我不会再告诉你了”.

一个定义是一个声明,说“这里是一些东西的名称,究竟是什么”.对于函数,这将是函数体;对于全局变量,这将是变量所在的翻译单元.

初始化是给定一个初始值的定义.某些语言会自动将所有变量初始化为一些默认值,例如0,false或null.一些(如C/C++)在所有情况下都不是:所有全局变量都是默认初始化的,但是堆栈上的局部变量和动态分配的变量不会被默认初始化 – 它们具有未定义的内容,因此您必须显式初始化他们. C也有默认构造函数,这是一个完整的蠕虫病毒.

例子:

// In global scope:

extern int a_global_variable; // declaration of a global variable

int a_global_variable; // definition of a global variable

int a_global_variable = 3; // definition & initialization of a global variable

int some_function(int param); // declaration of a function

int some_function(int param) // definition of a function

{

return param + 1;

}

struct some_struct; // declaration of a struct; you can use pointers/references to it,but not concrete instances

struct some_struct // definition of a struct

{

int x;

int y;

};

class some_class; // declaration of a class (C++ only); works just like struct

class some_class // definition of a class (C++ only)

{

int x;

int y;

};

enum some_enum; // declaration of an enum; works just like struct & class

enum some_enum // definition of an enum

{

VALUE1,VALUE2

};

我不熟悉你所问的其他语言,但我相信他们在声明和定义之间并没有多大区别. C#和Java具有所有对象的默认初始化 – 如果没有显式初始化,则所有对象都初始化为0,false或null. Python更加松散,因为变量在使用之前不需要被声明.由于绑定在运行时解析,所以也不需要声明函数.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值