① c语言中静态储存和动态储存是什么意思
?
:
连起来的意思
我举个例子吧
int
a
=3;
int
b=
2;
int
c;
if(a>b)?(c=a):(c=b);//意思是如果a>b就执行c=a,否则就执行c=b
类似于下面的语句
if(a>b)
{
c=a;
}
else
{
c
=
b;
}
条件运算符是
?
:
表达式为:表达式1?表达式2:表达式3
表达式2是条件成立(逻辑值为1)时整个表达式的取值
表达式3是条件不成立(逻辑值为0)时整个表达式的值
例如:
m<n?x:a+3
a++>=10
&&
b-->20
?
a
:
b
x=3+a>5
?
100
:
200
优先级
条件运算符优先级高于赋值、逗号运算符,低于其他运算符
例如:
⑴
m<n
?
x
:
a+3
等价于:(m<n)
?(x)
:(a+3)
⑵
a++>=10
&&
b-->20
?
a
:
b
等价于:(a++>=10
&&
b-->20)
?
a
:
b
⑶
x=3+a>5
?
100
:
200
等价于:x=
((
3+a>5
)
?
100
:
200
)
结合性
条件运算符具有右结合性
当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。
例如:
w<x
?
x+w
:
x<y
?
x
:
y
与
w<x
?
x+w
:
(
x<y
?
x
:
y)
等价
与
(w<x
?
x+w
:
x<y)
?
x
:
y
不等价
----欢迎加入------c++部落------------hello
word!--------
无论你是初学者还是专家,只要你热爱编程、交流、分享,c++部落因为你而精彩~
② 编程语言里 什么是静态语言和动态语言 和什么是编译语言 和解释语言通俗点 还有Java和C语言属于哪一种
静态语言,是固定运行结果的语言,典型的范例就是html编写的静态页面代码,比如说创建一个表格,在html语言中表格行列数是不能变化和调整的。
动态语言,根据条件的不同,输出的内容可能不同。例如:编写网页的asp语言,可以通过查询数据库,生成动态行数的数据表。
编译语言,一般情况下需要通过编译环境生成对应的可执行程序或者目标程序,才能够执行。
解释语言,在运行时对编码进行解释,直接执行。例如asp语言,就是解释型语言,不需要编译生成可执行程序。
一般来讲,C语言和java都是需要通过编译生成可执行程序或者目标程序,所以它们都是编译语言。
③ C语言中静态变量与动态变量的定义与区别
动态变量和静态变量定义和区别如下:
1、定义上,静态变量比动态变量多一个关键字static,比如:
动态变量:int i;
静态变量:static int i;
2、动态变量在子程序中,每次调用时都会从零开始,不会保留原有数据,静态变量调用时原有值不会发生改变,比如:
main()
{
int i;
for(i=0;i<5;i++)fun();//fun1();
}
void fun() //输出结果为11111
{
int j;
j++;
printf("%d",j);
}
void fun1() //输出结果为12345
{
static int j;
j++;
printf("%d",j);
}
④ C语言动态变量和静态变量的区别
一、形式不同:
静态变量是在定义的时候,有static 修饰的变量,形式为static TYPE var_name = init_value;
动态变量,形式为TYPE var_name = init_value;即没有static 修饰,其中的=init_value均可省略。
二、作用不同:
动态全局变量:作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量,生命周期为从程序运行到程序退出,即贯穿整个运行时间。
静态全局变量:作用域为当前文件,从定义/声明位置到文件结尾,生命周期为从程序运行到程序退出,即贯穿整个运行时间。
常量使用
静态变量也可以用于存储常数。具体来说,静态变量(全局变量及汇编语言里定义的符号亦同)可用const,constant或final(根据语言决定)等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。
编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区;为防止常数变量被错误的指针写入覆盖,亦可在这块区域启用内存保护机制。
以上内容参考:网络-静态变量
⑤ 在C语言中静态变量和动态变量的区别,应该如何理解
静态变量就是程序在执行前就已经可以确定的地址的变量。普通变量则是在程序执行后才分配的地址的变量。所以静态变量对整个程序都是可见的,普通变量只能被给其分配地址的模块使用,超出这个模块普通变量的生命周期结束。
⑥ c语言中静态变量与动态变量的不同
静态变量在你使用一次后再次使用时,它的值还是保留的上次使用后的值,动态变量布具有这个特性。
⑦ 计算机C语言中“动态变量”和“静态变量”的区别是什么
静态变量,就是在定义的时候,有static 修饰的变量,形式为
static TYPE var_name = init_value;
而动态变量,形式为
TYPE var_name = init_value;
即没有static 修饰。其中的=init_value均可省略。
区分定义在函数外的全局变量,和函数内的局部变量,作用域,生命周期,及无显式初始化时的初始值,均有区别。
1 动态全局变量:
作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。
生命周期为从程序运行到程序退出,即贯穿整个运行时间。
无显式初始化时默认初始化值为0。
2 静态全局变量:
作用域为当前文件,从定义/声明位置到文件结尾。
生命周期为从程序运行到程序退出,即贯穿整个运行时间。
无显式初始化时默认初始化值为0。
3 动态局部变量:
作用域为当前函数,从定义位置,到其所在的{}的结束位置。
生命周期为从函数调用到函数退出。
无显式初始化时默认初始化值为随机值。
4 静态局部变量:
作用域为当前函数,从定义位置,到其所在的{}的结束位置。
生命周期为从程序运行到程序退出,即贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值。
无显式初始化时默认初始化值为0。
⑧ 请问C语言中静态内存与动态内存呀(最好有例子)
静态的内存使用的是栈空间内存,不用程序员自己来分配.动态内存由程序员根据需要来自己分配并收回.
最大的区别在于动态的内存分配时候会用new关键字或malloc或calloc函数,之所以要程序员自己来分配内存是由于有时候不能确定程序要使用多少内存,比如要通过用户或者文件或者数据库中的查询结果来确定使用多少数据,这时候程序员无法在程序的编写的时候就把内存给固定分配出来.这时候必须得让程序在运行的时候自己来为自己找到可用的内存,就一定要用动态的方式来分配内存.
举个例子,根据用户的输入一个整数来确定用户要输入的数组维数,这个整数不是一定确定的数值,我们可以用一个变量n来表示,并用它接受用户的输入,再根据n来生成一个整数数组.程序不能写成int array[n];的形式,这样程序是不能编译通过的,这是因为n是一个不确定的数值.只能用new或malloc来通过用户的输入来分配内存.可以写成这样:
int n;
cout << "input n:";
cin >> n;
cout << endl;
int* iArray = new int[n];
for (int i = 0; i < n; i++)
{
cin >>iArray[i];
⑨ C语言动态变量和静态变量的区别
全局变量声明之前加上static,就是静态全局变量。全局变量和静态全局变量都是静态存储的;在存储上无区别。区别在于他们的作用域;全局变量的作用域是整个源程序,当源程序有多个源文件组成时,全局变量在各个源程序文件都是有效的;而静态全局变量怎被限制了作用域,只在定义该变量的源文件内有用在同一程序的其他源文件不能使用!
还有静态全局变量只初始化一次,防止在其他源文件调用!而全局变量可以再其他源文件初始化!