C++變量的聲明、定義、數組初始化

聲明和定義的關係:
聲明規定了變量的類型和名字,定義申請存儲空間。
想聲明而非定義一個變量,添加extern關鍵字,extern聲明變量並初始化時即變成定義。
定義一次,聲明可多次。可參考博客extern關鍵字

#include<iostream>
#define GET_ARRAY_LEN(arr,row,column) {column = sizeof(arr[0])/sizeof(arr[0][0]);\
row = sizeof(arr)/sizeof(arr[0]);}
using namespace std;

int arr[5];//默認初始化全爲0;
int numGlobal;//默認初始化全爲0;
//全局和靜態數組初始化爲0,局部變量和數組不初始化,輸出爲地址。

void AlgorithmGossip(int *arr){};

int main()
{
	int arrTwo[5] = {1};
	//當初始化時指定的元素個數小於數組,剩下的元素都被初始化爲0,即1,0,0,0,0
	
	int numLocal;
	int *point = arr;
	AlgorithmGossip(arr);
	cout<<numGlobal<<endl;//輸出0
	cout<<numLocal<<endl;//輸出-858993460
	
	for (int i = 1; i < 5;  ++i)	{
			cout<<*point<<" ";
			//arr++;error:數組地址,這個是常量,不能賦值。
			point++;
	}
	
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章