(1)全局数组:
#include<iostream.h>
int i, j, a[8][8];
void main( )
{ //int i, j, a[8][8];
//**a=1; //首元素a[0][0]=1
for(i=1; i<8; i++)
{ **(a+i)=1; *(*(a+i)+i)=1; //第一列a[0]=1,对角a=1
for(j=1; j<i; j++)
*(*(a+i)+j)=*(*(a+i-1)+j-1)+*(*(a+i-1)+j);
} //a[j]=a[i-1][j-1]+a[i-1][j]
for(i=0; i<8; i++) //输出各数组元素
{ for(j=0; j<=7; j++)
cout<<'\t'<<*(*(a+i)+j);
cout<<endl;
}
}
以上代码中的数组a[8][8]声明为全局变量时,输出的内容中,没有初始化的部分全为0,但局部数组则为随机数。
不同的初始化的形式是有区别的 ,如
int b[2][2]={1, 2}; 故b[0][0]为1, b[0][1]为2.
而int b[2][2]={{1},{2}}; 故b[0][0]为1, b[1][0]为2.
前提是两个数组都为全局变量。
(2)全局变量情况:
#include<iostream.h>
int a, b,c;
void main( )
{
cout<<a<<" "<<b<<" "<<c<<endl;
}
变量并没有初始化,此时输出的a,b,c 都为0
(3)局部变量:
#include<iostream.h>
void main( )
{int a, b,c;
cout<<a<<" "<<b<<" "<<c<<endl;
}
此种情况的变量没有初始化,输出的a,b,c为随机数
(4)全局和局部静态变量:
#include<iostream.h>
static int a, b,c;
void main( )
{
cout<<a<<" "<<b<<" "<<c<<endl;
}
#include<iostream.h>
void main( )
{
static int a, b,c;
cout<<a<<" "<<b<<" "<<c<<endl;
}
以上两种情况输出的a,b,c值均为0
文章评论(0条评论)
登录后参与讨论