初学者的疑问。。。
本帖最后由 乐_乐(顺) 于 2012-9-17 15:40 编辑unsigned char j;
for(j=1;j<=6;j++)
是否等于 for(int j=1;j<=6;j++)
对于J这个字符,两者性质上有什么区别?
另外,void用于子程序的格式是什么?void style_1 (void),括号内的void和括号外的void有什么说法? unsigned char=uchar; unsigned int=uint说起这个来要扯出来的东西就比较多了。uchar是一个8位无符号数,表示范围0到255,而uint是十六位无符号数,表示范围0到65535.但是要注意的是8位单片机当中字宽仅有8位,如果用编译器的话,假如采用uchar类型数据,它会给你分配一个寄存器(8位);但是如果采用uint的话,必须要两个寄存器才能完全表达数据的大小。单片机从寄存器取操作数,也就是一个处理的快,一个相对处理得慢。当然十六位的数是如何进行操作数寻址如果用C的话其实关心必要性不大~
OK?
那么第二个问题,
前一个void是声明这个函数,为了让编译器找到这个函数,第二个括号内的void是指这个函数的值。比如你用void style_1(int m),那么每次调用这个函数的时候,这个函数的处理值就是int m ,当然最后实现的效果也要根据你在函数中写来处理这个m程序而定,比如你可以把这个函数写成style_1(一个int值,比如7858)
楼上正解:lol 邓维安 发表于 2012-9-17 16:22 static/image/common/back.gif
unsigned char=uchar; unsigned int=uint说起这个来要扯出来的东西就比较多了。uchar是一个8位无符号数, ...
虽然,还不是很明白,计算机原理我是小白,但是,对你那么耐心的解释表示敬意,谢谢! int j;
for(j=1;j<=6;j++)
等于 for(int j=1;j<=6;j++)
unsigned char j 不等于 int j 小番茄不等于大番茄。。虽然都是番茄
void style_1 (void)等于void style_1 ()括号里没东西默认为写了个void char=-128~127
byte=0~255
byte=unsigned char两个都是8位
int= -32,768 to 32,767
unsigned int=0~65535
变量适合自己用就行了 函数参数定义成 byte 为什么不能编译?对于地址来说一般都是8位的,定义成int 有些浪费,那么如何才能使用8位地址呢?
麽麽茶㊣ 发表于 2012-9-19 13:29 static/image/common/back.gif
int j;
for(j=1;j
解释的很清楚,谢谢! lanxix 发表于 2012-9-19 14:52 static/image/common/back.gif
char=-128~127
byte=0~255
byte=unsigned char两个都是8位
谢谢,我明白了~~~
页:
[1]