第三次作业
#include<stdio.h> int n;//因为n是一个全局变量,所以fun函数和main函数都可以用 void fun(int *q) { for(int i=0;i<n;i++)//遍历数组输出 { printf("a[%d]:%d\n",i,*(q+i));// 通过指针访问数组进行输出 } } int main() { int a[10],*p=a; for(int i=0;i<10;i++)//初始化数组包含从1~10这10个整数 a[i]=i+1; n=sizeof(a)/4;//利用sizeof得到a数组的大小,因为是int型,所以a数组的空间大小÷4即得到数组可以储存的元素数; printf("n大小为%d\n",n);//可以加一个printf函数验证n的大小 printf("调用fun函数并输出数组元素\n"); fun(p);//调用函数fun,传递指针的地址
return 0; }
n大小为10
调用fun函数并输出数组元素
a[0]:1
a[1]:2
a[2]:3
a[3]:4
a[4]:5
a[5]:6
a[6]:7
a[7]:8
a[8]:9
a[9]:10
--------------------------------
Process exited after 0.2569 seconds with return value 0
请按任意键继续. . .
总结
可以通过定义一个变量来得到数组的大小,通过将该数组的大小除以该数组所包含的数据类型的大小即可得到该数组所包含的元素的数量(例如一个int型数据大小为4字节,数组元素数=数组大小÷4)包含元素的数量。
一个全局变量可以被一个程序中的所有函数所调用,不用考虑在调用函数时的数据传递问题,很方便。
gitosc账号:XDoschina
欧陆词典 app截图:
a