C++——变量的声明、定义

原创 2012年03月22日 10:08:50

C++——变量的声明、定义与初始化


一、变量的声明(declaration)

声明用于向程序表明变量的类型和名字。声明跟定义的不同之处是在前面加了extern修饰符。如下:

extern int i; // 声明变量i为int类型,但是没有分配存储空间。

二、变量的定义

定义用于为变量分配存储空间。定义也是声明,因为定义变量时声明了它的类型和名字。

int i;

定义的变量的同时可以初始化

int i = 10;

三、声明变量时初始化

声明变量时如果加上初始化语句,那么就是定义而不仅仅是声明。

extern int i = 5; // 定义。虽然有extern修饰符,但是也有初始化,所以是定义,而不仅仅是声明。

四、可以重复声明变量,但是不能重复的定义变量

这很好理解。声明没有分配存储空间,定义分配了存储空间。如果重复定义,那么一个变量就具有多个存储空间。访问变量的时候,就不知道要访问哪个存储空间了。

int i;       // 定义
extern i; // OK。声明
int i;       // Error。重复定义

extern double d = 10.5;  // 定义
extern double;             // OK。声明
extern double d = 5.0;  // Errro。重复定义


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++全局变量的声明和定义

(1)编译单元(模块)      在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作:  第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;  第二步,...

基于C++全局变量的声明与定义的详解

(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件; 第二步,将工程中所有的...
  • Qsir
  • Qsir
  • 2017-05-26 18:35
  • 72

C++全局变量的声明和定义

参考:http://wrchen.blog.sohu.com/71617539.html (1)编译单元(模块)     在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器...

C++变量的声明和定义

我们已经知道,一个函数一般由两部分组成:声明部分和执行语句。 声明部分的作用是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行说明。对于函数,声明和定义的区别是明显的,前边已说明,函数...

C++变量的声明与定义

欢迎到我的新博客访问原文链接:http://www.61mon.com/index.php/archives/163/  声明,是用以告诉编译器类型及其细节,本身并不涉及内存分配;   定义,即内存...

C/C++头文件与变量的声明和定义

C/C++头文件与变量的声明和定义最近遇到了变量重复包含的问题,才发现自己有好多知识已经模糊了,真惭愧。首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#include的地方展开一...

关于C++变量的声明和定义

我们已经知道,一个函数一般由两部分组成:声明部分和执行语句。   声明部分的作用是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行说明。对于函数,声明和定义的区别是明显的,前边已说明,函...

The New C++ -- 变量(1. 变量的声明和定义)

在C++中,不仅仅是变量才有名字,枚举(enumeration),函数(function),类(class),模板(template)等物件都有名字。在使用任何一个名字之前,必须要先对该名字表示的物件...

C++函数和变量的声明、定义的原因和作用

声明是告诉编译器一些信息,以协助编译器进行语法分析,避免编译器报错。而定义是告诉编译器生成一些代码,并且这些代码将由连接器使用。即:声明是给编译器用的,定义是给连接器用的。这个说明显得很模糊,为什么非...

C++头文件保护符和变量的声明定义

#ifndef #define #endif头文件保护符和变量的声明和定义,有例子有真相。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)