首页 > 编程语言 >C++ 声明和定义

C++ 声明和定义

时间:2024-09-12 11:49:24浏览次数:10  
标签:定义 初始值 C++ extern 声明 变量

变量声明规定了变量的类型和名字,在这一点上定义与之相同。但是除此之外,定义还申请存储空间,也可能会为变量赋一个初始值。

如果想声明一个变量而非定义它,就在变量名前添加关键字 extern,而且不要显式地初始化变量:

extern int i; // 声明i而非定义i
int j; // 声明并定义了

任何包含了显式初始化的声明即成为定义。我们能给由 extern 关键字标记的变量赋一个初始值,但是这么做也就抵消了 extern 的作用。extern 语句如果包含初始值就不再是声明,而变成定义了:

extern double pi=3.1416;//定义

函数体内部,如果试图初始化一个由 extern 关键字标记的变量,将引发错误

Note: 变量能且只能被定义一次,但是可以被多次声明。




《C++ Primer》 P41

标签:定义,初始值,C++,extern,声明,变量
From: https://www.cnblogs.com/huvjie/p/18409879

相关文章

  • C++ 变量初始化
    列表初始化当用于内置类型的变量时,这种初始化形式有一个重要特点:如果我们使用列表初始化且初始值存在丢失信息的风险,则编译器将报错:longdoubleld=3.1415926536;inta{ld},b={ld};//错误:转换未执行,因为存在丢失信息的危险intc(ld),d=ld;//正确:转换执行,且确实丢失了......
  • C++复习day11
    类型转化C语言中的类型转换在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型转换和显式类型转换。隐式类型转化:编译器在编译阶段自动进行,能转就转,......
  • DevExpress WinForms中文教程:Data Grid - 如何自定义行和单元格的样式?
    在本教程中您将学习如何使用事件更改数据单元格样式,您将从要给显示任务数据的网格开始,并且没有应用条件格式。通过处理GridView.RowStyle事件,您将对Priority字段值为High的行应用不同的背景颜色。然后如果Status设置为New,您将使用GridView.RowCellStyle事件来突出显示这些行中的St......
  • C++竞赛初阶L1-15-第六单元-多维数组(34~35课)556: T456506 矩阵转置
    题目内容输入一个 n 行 m 列的矩阵 A,输出它的转置 AT。输入格式第一行包含两个整数 n 和 m,表示矩阵 A 的行数和列数。1≤n≤100,1≤m≤100。接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1∼1000 之间。输......
  • C++竞赛初阶L1-15-第六单元-多维数组(34~35课)557: T456507 图像旋转
    题目内容输入一个 n 行 m 列的黑白图像,将它顺时针旋转 90 度后输出。输入格式第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素......
  • C++竞赛初阶L1-15-第六单元-多维数组(34~35课)555: T456505 矩阵乘法
    题目内容计算两个矩阵的乘法。n×m 阶的矩阵 A 乘以 m×k 阶的矩阵 B 得到的矩阵 C 是 n×k 阶的,且 C[i][j]=A[i][0]×B[0][j]+A[i][1]×B[1][j]+ …… +A[i][m−1]×B[m−1][j](C[i][j] 表示 C 矩阵中第 i 行第 j 列元素)。输入格式第一行为 n,m,k,表......
  • C++竞赛初阶L1-15-第六单元-多维数组(34~35课)554: T456504 矩阵加法
    题目内容输入两个 n 行 m 列的矩阵 A 和 B,输出它们的和 A+B,矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。输入格式第一行包含两个整数 n 和 m,表示矩阵的行数和列数 (1≤n≤100,1≤m≤100)。接下来 n 行,每行 m 个整数,表示矩阵 A 的元素......
  • 选品的真正定义是什么?
     好久没更新了,每天选品感觉时间过的很快,不知不觉一天过去了,可能这就是入定状态,也只有自己喜欢的方向和内容,才会情不自禁的沉迷其中,感觉不到时间的流失。    最近一周是比较夸张,经常电脑前坐一天,深夜了还感觉不到累,总想拿着手机继续看,大脑一直处在亢奋状态,有人说做任何......
  • c++求助bfs流星雨题目为什么代码编不过
    题目链接3669--MeteorShower(poj.org)英文题目DescriptionBessiehearsthatanextraordinarymeteorshoweriscoming;reportssaythatthesemeteorswillcrashintoearthanddestroyanythingtheyhit.Anxiousforhersafety,shevowstofindherwayt......
  • c++primer第四章复合类型学习笔记
    数组数组创建声明:存储元素类型数组名数组的元素个数#include<iostream>usingnamespacestd;intmain(){intyams[3];yams[0]=7;yams[1]=8;yams[2]=6;intyamcosts[3]={20,30,5};cout<<"Totalyams=";cout<<......