-------存储类、链接和内存管理
作用域、链接、存储时期
一、5种存储类
1、自动的声明方式:在代码块内
2、寄存器的声明方式:在代码块内,使用关键字register
3、具有外部链接的静态的声明方式:所有函数之外
4、具有内部链接的静态的声明方式:所有函数之外,使用关键字static
5、空链接的静态的声明方式:代码块内,使用关键字static
··图片c000··
使用register声明的类型是有限的。eg:处理器可能没有足够大的寄存器来容纳double类型。
··图片c001··
--------------------------------------------------------------------------------------
二、存储类说明符:auto、register、static、extern、typedef
··图片c002··
int tern=1;
main()
{
extern int tern;//extern表明在声明一个已经在别处定义了的变量
tern声明了两次,第一次称为为定义声明,为变量留出了存储空间;第二次称为引用声明,
只是告诉编译器要使用之前定义的变量tern,因此它们是不同的定义。
--------------------------------------------------------------------------------------
-->>静态变量的“静态”实际上是指变量的位置固定不动.
-->>外部变量的作用域:从声明的位置开始到文件结尾为止.
-------------------------------------------------------------------------------
--随机函数--->>>产生0到32767范围内的随机数
使用ANSI C的可移植算法
#include<stdio.h>
#include<time.h>
static unsigned long int next = 1;//随机数种子
void srand(unsigned int seed)
{
next=seed;
}
int rand(void)
{
//产生随机数的魔术般的公式
next=next*110351524+12345;
return (unsigned int)(next/65536)2767;
}
int main()
{
//int n=6;
srand((unsigned int)time(0));
//while(n--)
printf("%lu\n",rand());
return 0;
}
//1到50的随机数
一、
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i;
srand((unsigned)time(NULL));
while(1)
{
i=rand();
if(i>-1&&i<50)
{
printf("%d",i);
break;
}
}
return 0;
}
二、
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
unsigned int j;
srand((unsigned int)time(0));
j=(unsigned int)(rand()P);
printf("%ud\n",j);
}
作用域、链接、存储时期
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--随机函数--->>>产生0到32767范围内的随机数
使用ANSI C的可移植算法
#include<stdio.h>
#include<time.h>
static unsigned long int next = 1;//随机数种子
void srand(unsigned int seed)
{
}
int rand(void)
{
}
int main()
{
return 0;
}
//1到50的随机数
一、
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
return 0;
}
二、
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
}