当前位置: 首页 > news >正文

安徽省建设工程信息网站6视频制作表情包

安徽省建设工程信息网站6,视频制作表情包,哈尔滨 微网站设计,黄陂网站建设四、数组的地址#xff08;继续前文编号#xff09; 数组是连续有序储存的同类型值#xff0c;只要获得首地址#xff08;第0个成员的内存地址#xff09;#xff0c;其它成员的地址也就知道了#xff0c;就能遍历整个数组。比如#xff0c;声明一个数组#x…四、数组的地址继续前文编号        数组是连续有序储存的同类型值只要获得首地址第0个成员的内存地址其它成员的地址也就知道了就能遍历整个数组。比如声明一个数组int arr[5]{1,2,3,4,5}; 又 int* parr[0]; 那么指针p中保存的就是数组 arr 的首地址故有*p值是1; ( 首个成员的值 )。C语言为简化计规定数组名等同于数组首地址即有 *parr; 。 如此把数组名传入一个函数就等同于传入一个指针变量。在函数内部就可以通过这个指针变量获得整个数组。        同理对于二维甚至多维数组数组名也是这些数组的首地址。 五、数组指针的加减计算        仍接上面的例子p是指向数组 arr 首地址指针*p的值是1接下来我们给p加上1此时 *(p1) 的值就是2也就是说首地址指针加上n则指针就指向第n个成员注意我们讲地址还有第几个成员均从0开始计然后用 *(pn) 就能取出这个地址的值。指针能加也能减减就是指针指向回退一个成员。十分注意的是指针加减后的结果不能越界。        由于指针p与数组名arr等价所以用*(arrn)来取第n个成员的值也是一样的。        关于数组的地址及指针加减运算我们用一个例子做说明 #includestdio.h void myArr(int* arr) {int* p arr; //p指向第0号成员int temp *p;printf(数组arr的第0号成员是%d\n, temp);p p 4;//p指向了第4号成员temp *p;printf(数组arr的第4号成员是%d\n, temp);p p - 2;//p从4回退2个位置指向2号成员temp *p;printf(数组arr的第2号成员是%d\n, temp); } int main(void) {int arr[5] { 1,2,3,4,5 };myArr(arr);printf(-----------------------\n);printf(数组arr的第2号成员是%d\n, *(arr 2)); //用arr替代p进行计算getchar();return 0; } 运行结果        数组arr的第0号成员是1        数组arr的第4号成员是5        数组arr的第2号成员是3        -----------------------        数组arr的第2号成员是3 六、数组的复制        数组名字是指针所以复制数组名字并不是真正的复制数组而是复制了一个指针原指针和复制指针共同指向同一个数组如果原数组消失则复制的数组也不存在了。        简单的复制方法是利用循环一个成员一个成员的完成复制具体可看下面代码 int arr[5] { 1,2,3,4,5 };int arrBak[5] { 0 };for (int i 0; i 5; i) arrBak[i] arr[i]; //逐个成员复制for (int i 0; i 5; i) printf(%d , arrBak[i]); //显示复制结果 运行结果1  2  3  4  5复制完成        对于二维或者多维数组复制需要开双重循环或多重循环。        还有一种赋值方法就是调用memcpy() 函数直接把数组所在的那一段内存再复制出一份。memcpy()有3个参数      参1 目标数组名 参2 源数组名 参3 目标数组字节长度。见下例 int arr[5] { 1,2,3,4,5 };int arrBak[5];memcpy(arrBak, arr,sizeof(arrBak)); //完成复制for (int i 0; i 5; i) printf(%d , arrBak[i]); //显示复制结果 运行结果1  2  3  4  5结果与循环方法相同函数方法速度快于循环方法        说明由于版本不同memcpy是否包含在stdio.h不能确定如报错请包含string.h。 七、数组作为函数的参数        1. 数组作为函数的参数一般会同时传入数组名和数组成员数。由于数组名是一个指针如果只传数组名那么函数 只知道数组开始的地址不知道有几个成员。如果函数的参数是多维数组那么除了第一维的成员数可以当作参数传入函数 其他维的成员数需要写入函数参数声明。       2.数组字面量作为函数参数直接将数组字面量传入函数。方法是带有大括号的数组各成员的值直接放到参数名的位置后边再跟上数组成员数这个参数然后在大括号前面一对小括号括号里是函数数组参数声明但把数组名去掉。这种方式类似于用数组类型对传入的字面量数组成员值进行强转让编译器明白这组值的类型。        以上两项特别是第2项用语言表达不是很明白还是放到下面的例子中进一步说明代码如下 #includestdio.h int mySum(int a[][5], int n) {int sum 0;for (int i 0; i n; i){for (int j 0; j 5; j){sum a[i][j];}}return sum; } int main(void) { int arr[2][5] { {1, 2, 3, 4, 5},{6, 7, 8, 9, 10} };int summySum(arr, 2); //传入数组名及第一维成员数printf(%d\n, sum); //运算结果55sum mySum((int[][5]) { {1, 2, 3, 4, 5}, { 6, 7, 8, 9, 10 } }, 2);//将数组字面量直接及第一维成员数直接传入函数注意(int[][5])中无数组名只剩类型printf(%d\n, sum);//运算结果55getchar();return 0; }
http://www.pierceye.com/news/287096/

相关文章:

  • 汽车网站哪个好预付的网站开发费用怎么入账
  • 网站代管理哪个网站有介绍拿到家做的手工活
  • 惊艳的网站网站建设实训过程报告
  • 秦皇岛做网站公司企业网站备案需要什么
  • 做网站必须开厂吗科协网站建设建议
  • 西宁 网站建设凡科做视频网站
  • wordpress中文主题 wp-cmsseo排名赚钱
  • 优质的网站制作在线查企业信息查询平台
  • 天津网站建设学习电子商务企业网站建设实训报告
  • 怎么让网站收录在google怎么免费安装wordpress主题
  • 在windows2003上做网站浙江网
  • 宣威网站wordpress把logo变大
  • 网站设计模式有哪些商城网站营销方案
  • mvc做的网站wordpress 新建php文件
  • 西安网站seo外包个人开发者
  • 注册网站需要visa怎么办济宁万达网站建设
  • niche网站建设wordpress安装文本编辑器
  • 网站建设三种方法免费的导航页
  • 微信到wordpress杭州网站怎么做seo
  • 沙田镇仿做网站网站加速器quickq
  • 武进网站建设医药公司网站建设
  • 专业做网站建设广告设计网站素材
  • 成都建设银行保安招聘网站深圳做兼职的网站设计
  • 做网站如何找广告商湖南网站建设kaodezhu
  • 宁波专业的网站搭建公司天津网站建设技术托管
  • 做水果网站特点分析报告怎样在百度上注册自己的公司
  • 800元五合一建站上海企业排行榜
  • 学校建设网站前的市场分析上海到北京火车时刻表查询
  • 科技企业网站设计网站开发费如何入账
  • 网站主体必须要与域名注册人相同网页设计尺寸标准