我们在C语言编程时挨个儿输出一个数组中的元素时,最常用的就是用一个for循环来实现,简单了事。比如类似下面的C程序代码片段:
for(i = 0; i< length; i++){printf(“数组元素是%d”, 数组[i]);}
用一个下标索引变量i来遍历整个C程序数组,length是数组的长度。当然了,length得提前计算出来,计算的方式有很多,很多朋友会想到用sizeof计算。不过,sizeof好归好,但是也要睁大你的双眼,小心用错,你若不信,请继续往下看。
先看传统的做法,C程序代码如下:
#include "stdio.h"int main(void) {int number[5] = {1,2,3,4,5};int index = 0;printf("数组的元素分别是:\n");for(index = 0;index < 5; index++){printf("%d ", number[index]);}printf("\n");return 0;}
最简单的方法就是写死了C语言数组长度,再用一个循环挨个儿输出。程序清晰易懂,结果是:
结果也是清晰易懂。
有的朋友会突发奇想,为何不这样来做:
#include "stdio.h"int main(void) {int number[5] = {1,2,3,4,5};int index = 0;int *p = &number[0];printf("数组的长度是: %d\n", sizeof(p));printf("数组的元素分别是:\n");for(index = 0;index < sizeof(p); index++){printf("%d ", number[index]);}printf("\n");return 0;}
增加了一个C语言指针变量p,指针变量p的初始值是数组首元素的地址。有的朋友企图用sizeof(p)来获取数组长度,这是不对的,请看结果:
从结果可以看到,sizeof(p)其实计算的是指针变量p的大小。在32位系统上,不管指针p指向的是整型数据,还是字符型数据,short型数据,long型数据等,指针p本身所占的内存字节数均为4。也就是要使用4个字节的大小来存储变量p的值。
我还见过有朋友这样用sizeof的,C程序代码如下:
#include "stdio.h"void print(int number[5]) { int index = 0; ; printf("函数print中,数组长度是: %d ", sizeof(number));printf("函数中数组的元素分别是:\n"); for(index = 0; index < sizeof(number) / sizeof(number[0]); index++) {printf("%d ", number[index]); } printf("\n");} int main(void) {int number[5] = {1,2,3,4,5};print(number);return 0;}
这次C程序代码又修改了一下,将数组名number传给函数print,并且print函数的形参看上去像是一个数组。运行结果是
诺诺,运行结果不是预期中的结果啊。其实,C语言函数print形参看上去像是一个数组,于是有的朋友就会认为它就是一个数组,于是就发生了使用sizeof来计算数组长度;真实情况是print函数的参数还是一个指针,指针,指针,没错,就是一个C语言指针,所以sizeof(number)计算的还是指针的大小。初学的朋友们一定要切记!
一、恶意透支非法占有信用卡信用额度,恶意刷卡不还,相当于犯罪。二、信用卡TX所谓的TX是指利用非正常手段制造虚假交易将信用卡额度内资金以现金方式套取。信用卡TX也是违法行为,会影响个人信用记录。三、逾期还款还款超过银行规定最后还款期限,导致不良信用记录。逾期还款6次就无法向银行申请贷款、信用卡。四、
2025-06-07 01:21:35
世界上那些中了彩票巨奖的人,大多数最后的生活都变得穷困潦倒,甚至不如从前。爸爸是亿万富翁,传到儿子、孙子基本就败光了,富不过三代。为什么会这样?到底是什么决定人生穷富?人生穷富的关键是什么?为什么穷人越来越穷,富人越来越富?是因为穷人和富人拥有的资产类型不同。资产的内涵是现金流,资产产生现金流的不同
2025-06-06 23:59:13
没有这三点,就无法成为资本价值思维的开创者。如果这三点不完善,又怎么能获得融资呢?融资的基本条件是什么?我认为,融资的基本条件包括以下三点:·第一,人。一切都是人做的,创始人不行,一切都不行。什么样的人才真正具有价值呢?→首先,他们必须有超前的思维方式,能够想到别人想不到的东西,因为只有这样,才能从
2025-06-06 22:38:30
所谓小额信用贷款是以个人或家庭为核心的经营类贷款,其主要的服务对象为广大工商个体户、小作坊、小业主。贷款的金额一般为10万元以下,1000元以上。小额信用贷款是微小贷款在技术和实际应用上的延伸。借款人不需要提供担保。目前,不少家庭或是个人都喜欢选择小额信用贷款。那么申请小额信用贷款需要注意哪些事项呢
2025-06-06 21:58:35
P2P网贷行业火爆,也衍生出了不同类型、不同风险系数的P2P理财产品,让网贷投资者目不暇接,甚至有点丈二和尚摸不着后脑,不知道该如何选择,笔者根据投资标的的内容和性质做了一下分类,让投资人从更清晰的角度选择安全,适合自己的网贷理财产品。网贷理财产品分类:目前市场上,P2P理财产品主要分成五类产品:票
2025-06-06 20:58:30
专业的股票配资是指由具备相关证券从业资格、拥有专业投资管理经验、风险意识强、遵守法律法规等一系列条件的机构或个人,为投资者提供的股票杠杆交易服务。这种通常包括提供资金、交易平台、风险控制、交易指导等方面的支持和服务。专业的股票配资通常会提供较高的杠杆比例,使得投资者可以通过较少的资金参与更大的市场交
2025-06-06 20:05:31