c语言学习笔记(数组、函数)

c语言学习笔记(数组、函数)

ID:16009623

大小:139.50 KB

页数:53页

时间:2018-08-07

c语言学习笔记(数组、函数)_第1页
c语言学习笔记(数组、函数)_第2页
c语言学习笔记(数组、函数)_第3页
c语言学习笔记(数组、函数)_第4页
c语言学习笔记(数组、函数)_第5页
资源描述:

《c语言学习笔记(数组、函数)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数组2010-3-2922:40一维数组的定义和一维数组的引用内存中一串连续的存储单元(变量),叫数组。指针移动和比较只有在一串连续的数组中才有意义。当数组中每个变量只带一个下标时,为一维数组。定义一个一维数组:类型名数组名【常量表达式】如:inta[8];说明:①定义一个一维整型名为a的数组。②方括号中规定此数组有8个元素,(a【0】-a【7】),不存在a【8】这个元素。③a数组中每个元素均为整型,且每个元素只能存放整型。④每个元素只有一个下标,且第一个元素的下标总为0。⑤c编译程序,为a数组开辟8个连续存储单元。3)在定义数组语句中,可以有多个数组说明符;它们用逗号隔开。例:double

2、a【22】,v【100】,u【5】,a,b,c;注:双精度型每个单元占用8个字节的存储空间。另外,也可以和普通变量一起定义。 用逗号分隔开。2010-3-2310:29一维数组元素的引用21)引用形式:数组名【下标表达式】可以是:常量,变量,表达式。如:doublex【8】则x【0】x【j】x【i+k】均合法2)(1)一个数组元素实际上就是一个变量名,代表内存中的一个存储单元。我们可以把数组元素看做一个变量名来处理。(2)一个数组不能整体引用,数组名中存放的是一个地址常量,它代表整个数组的首地址。当学习指针时,引用的变量的地址,就是变量中第一个字节的地址。数组的首地址也是它的第一个元素的第一

3、个字节的地址,即它的首地址。数组的首地址存放在数组名中。所以说,数组名就代表一个地址。数组名是一个地址值。(3)在引用数组元素时,数组元素下标表达式必须是整数,下标表达式下限为0.系统并不自动检验数组元素下标是否越界,因此编程时要注意。如:doublea,b;intc[10];a=2.0;b=3.0;则a[i];是不合法的。给数组赋初值时,如果所赋初值少于元素个数时,后面的元素补为0,字符补为’’可以通过赋初值来定义一个数组的大小。如:inta[]={0,0,0,0,0};相当于:a[5]={0};一维数组的初始化voidmain(){inti,j,a[30];for(i=0,j=1;i

4、<30;i++,j+=2)a[i]=j;for(i=0;i<30;i++){if(i%10==0)printf(“”);/*i等于10,到了十,输入回车。因为0-9就是十个*/printf(“%d,”,a[i]);}for(i=29;i>=0;i--){printf(“%d,”,a[i]);if(i%10==0)printf(“”);/*先输出第i=20这个元素,再输入回车。*/}getch();}//2010年10月14日14:43:15上次是怎么做的啊,错了那么多。1一维数组和数组元素的地址1)数组和指针的比较(1)指针变量的地址:指向内存中一个存储单元的第一个字节的地址。数组名

5、的地址值,就是该数组的第一个元素的第一个字节的地址。(2)指针变量有基类型,相当于数组的类型名。(3)指针变量的地址值不可改变,即指针变量指向的存储单元的地址值是固定的,不可改变,如int*p,a;p=&a;则变量a的地址是不可改变的。也不可给数组名的地址重新赋值。如数组名为a的数组:a=&x;或a++等给数组名重新赋值都是错误的。一旦定义,a永远指向a数组的首地址。(4)虽然不可改变a的内容(地址),但可以对数组名加一个整数的办法,来依次表达该数组中不同元素的地址。如:a代表&a【0】数组的首地址,也是a[0]的地址//首地址a+1代表&a【1】数组元素a[1]的地址//在指针中,1代表一

6、个存储单元a+2代表&a【2】......//注意:不是a=a+1,而是a+1例:main(){inta[10],*p,x,k;for(k=0;k<10;k++)p=a+k;//a是数组的首地址,p=a+k;则遍历了数组中每个元素for(k=0;k<10;k++)scanf("%d",a+k);//输入每个元素的值for(k=0;k<10;k++)printf("%d",a[k]);//打印每个元素的值getch();}p=&a[0];等价于p=a;以下语句等价:for(p=a,k=0;k<10;k++)p++;//将数组a的首地址赋给指针p,k从0到9,p++将遍历数组中每个元素的地址

7、。依次指向数组a1,a2,a3......a9.for(p=a,k=0;k<10;k++){scanf("%d",p);p++;}for(p=a,k=0;k<10;k++)scanf("%d",p++);//什么自加自减运算符,当++在后面时,当前表达式的值不变,元素加1.for(p=a;p-a<10;p++)scanf(“%d”,p);2010.4.2通过数组首地址指针带下标的指针引用一维数组元素。引用一维

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。