首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

[C语言]初学者一些理解—变量常量

2013-08-24 
[C语言]菜鸟一些理解—变量常量最近刚看书,这是我对变量常量的一些理解。变量:就是在程序运行中可以改变的值

[C语言]菜鸟一些理解—变量常量
最近刚看书,这是我对变量常量的一些理解。

变量:就是在程序运行中可以改变的值。

#include<stdio.h>

int main(void)
{
int i = 0;//声明一个变量i
printf("改变前的值:%d\n",i);
i = 1;//改变其值
printf("改变后的值:%d\n",i);
return 0;
}

为什么要事先声明变量?
我的理解是:
电脑是死的,它没有逻辑。
你不声明它是不知道是什么意思的,
如:int  i;  //这样电脑就知道声明了一个int型变量电脑就会分配4个字节给i。而不会理解成char型变量分配1个字节。
//  
代码:
#include<stdio.h>

int main(void)
{
int i = 10;
j = 1;// 改成:int  j = 2;  这样就不报错了。
printf("%d %d\n",i,j); 
return 0;
}
这个代码有个错误:标识符”j“未定义。


常量:跟变量相反,就是不可改变。

23   0.12   'e'   
这些都是常量。

为什么在c语言中不可以这样   int i = 1;   2 = i;  或  2 = i + 1;
左值必须是变量,不可为常量。
可以看着这是一种规定,也可以证明常量是不可改变的。

语言表达能力差,望见谅。
如果我没有理解到和理解错误的请指出,谢谢!!
C
[解决办法]

引用
为什么要事先声明变量?
我的理解是:
电脑是死的,它没有逻辑。
你不声明它是不知道是什么意思的,


编程,有两个基本概念:空间和时间。
声明变量的意思是告诉计算机为你准备一个空间,你要用这个空间干点事。
比如 int i; 就是让计算机为你准备一个64位的带符号的空间。如果你让这个空间作为计算结果,就必须考虑这个空间适不适合。比如要考虑溢出错误,如果不够,就要用double这个空间,等等。

还有,你这个空间是计算机自己家的,调用起来非常迅速,就是时间概念,时间少。但是资源紧张,如果你胃口大,计算机就得调用邻居家的储备:malloc(new) ii ,但是调用速度就慢些。


[解决办法]



int main(void)
{
int i = 0;//这是声明加定义,而不是声明,注意定义代表了要分配内存空间了
printf("改变前的值:%d\n",i);
i = 1;//改变其值
printf("改变后的值:%d\n",i);
return 0;
}

单独的声明,一般在引用其它文件的全局变量时使用,由于每个文件是单独编译的,这个声明告诉编译器,这是一个什么类型的变量,已经在其它文件里定义了,不要再分配内存空间了
[解决办法]
不要纠结各种常量了,这个世界上唯一不变的就是变化。用API WriteProcessMemory还能修改正运行的其它进程的内存里面的所谓常量呢!

电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……



推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。

[解决办法]
为什么要事先声明变量?

VB, and some script language do not need to declare a var before you use it . 
[解决办法]

引用:
常量:跟变量相反,就是不可改变。

这个不对吧!常量是常量, 变量是变量,没什么对立的关系的!
常量也是可以通过修改地址来修改的!

还有 int i = 1;  这样是可以的!

常量 1 
请改变
[解决办法]
至于为什么要先声明呢,是语言规则,就像你叫某某某而不是XXX
至于变量和常量呢,也不过是一种规定,至于int是4字节而char是一字节,也是规定,就像你的民族可能是汉,也可能是满,至于为什么要跟老爹老娘呢,这个是文化,法律,一套游戏规则,不遵守这个规则,人家不和你玩。

[解决办法]
个人感觉没必要这么深究这些概念  因为以后做开发的话 需要学的东西博大精深 很多东西只有在一遍又一遍的思考和调试中才不断加深理解的
[解决办法]
初学者可以理解,好好努力吧,书还有很多呐

热点排行