c语⾔变量的定义有什么作⽤,c语⾔对变量的定义
⽤变量a给出下⾯的定义:
①⼀个整型数; int a;
②⼀个指向整型数的指针; int * a;
③⼀个指向指针的指针,它指向的指针是⼀个整型数; int * * a;
④⼀个有10个整型数的数组; int a[10];
⑤⼀个有10个整型数的数组,该指针是指向⼀个整型数的; int * a[10];
⑥⼀个指向有10个数组的指针; int (*a)[10];
⑦⼀个指向函数的指针,该函数有个整型参数并返回⼀个整数型; int(*a)(int);
⑧⼀个有10个指针的数组,该指针指向⼀个函数,该函数有⼀个整型参数并返回⼀个整型数; int (*a[10])(int);
定义变量或解析定义时⽤到的左右法则:
——》int (*a[10])(int)
——》⾸先到变量名a,先往右看遇到了【】,说明a⾸先是⼀个数组,【】⾥⾯是个10,表明数组中有10个元素;
——》再往右继续看,遇到了),这个时候掉转⽅向往左看,遇到*,表明数组⾥⾯保存的变量是指针变量
——》继续往左看遇到了(,这个时候⼜要调转⽅向,往右看,遇到了()
——》说明指针变量指向的是函数,()⾥⾯的int,表明函数的形参只有⼀个并且是整型参数,⼜掉转⽅向往左看,遇到int,说明函数的返回值是int型的。
int add (int a,int b);
函数的名字
函数的形参
函数的返回值
—
—》左右法则:⾸先到变量名,然后往左看,每次遇到括号掉转⽅向,直到把定义解析完毕。
——》强调的是:
1.遇到数组时,应该问⾃⼰:这个数组⾥有多少元素,元素⼜是什么类型的;
2.遇到指针时,应该问⾃⼰:这个数组⾥有多少个元素,元素⼜是什么类型的;
3.遇到函数的时候,应该问⾃⼰,函数的形参有没有,有的话有⼏个,每个参数⼜是什么类型的,函数的返回值是什么
左值右值:
int a =12
解析:程序⾥定义了⼀个int型变量,变量名为a,并且把变量初始化化为12;
编译器编译到这⾏的时候,会在内存⾥⾯分配⼀块空间——》这空间有多⼤呢?——》int字节的⼤⼩
这个空间的名字叫“a”,并且把12这个数放到空间⾥。
初始化和赋值
在定义变量的时候就给变量赋值,叫初始化。 int a = 8;
在定义变量之后,再对变量进⾏操作,⽐如改变变量的值,叫赋值
int a;
指针函数的作用a = 8;
变量的作⽤范围:
全局变量:作⽤范围是整个.c⽂件
局部变量:作⽤范围是{ }所在的代码块
当全局变量和局部变量有重合的时候,⽤近的那个。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论