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

微信链接网页网站制作/seo薪酬水平

微信链接网页网站制作,seo薪酬水平,做智能网站系统下载,网站开发工作量及预算计算C语言的数组是C语言中比较特殊的一种数据类型。这种数据类型由元素类型和元素个数共同决定。并且元素计数是从0开始到数字大小减去1。数组名数组名是数组的名字。在使用它的时候需要注意C语言中的规定。首先我们来看一维数组#include int main(){int num[10] { 0 };printf(&qu…

C语言的数组是C语言中比较特殊的一种数据类型。这种数据类型由元素类型和元素个数共同决定。并且元素计数是从0开始到数字大小减去1。

数组名

数组名是数组的名字。在使用它的时候需要注意C语言中的规定。首先我们来看一维数组

#include

int main()

{

int num[10] = { 0 };

printf("%p\n", num);

printf("%p\n", (num + 1));

printf("%p\n", (&num + 1));

return 0;

}

先看运行结果。

096aaf1b23afa2c9b25803785b79cc69.png

结果表明num和&num在进行步进操作的时候完全不同。

00DDF7B8 ➖ 00DDF794 = 24(H) = 36(D)。

这里的int类型占据4个字节,也就是两者差了9步。因此可以得出结论:

num+1步进了1步;&num+1步进了10步。

num代表得是数组首元素地址;

&num是整个数组的地址。

下面我们接着分析二维数组的数组名。

#include

int main()

{

int num[10][10] = { 0 };

printf("%p\n", num);

printf("%p\n", (num + 1));

printf("%p\n", (&num) + 1);

return 0;

}

运行结果如下:

885c5febc58038f8553f04a55c151f2b.png

008FF608 ➖ 008FF5E0 = 28(H) = 40(D).

008FF770 ➖ 008FF608 = 168(H) = 360(D).

这时候,二维数组名和一维数组又表现得不一样了。

二维数组名num本身代表得是一个指针,只不过它是指向这样一个类型:int *[10],而是不是int * [10][10]类型。

下面是测试:

#include

int main()

{

int num[10][10] = { 0 };

int (*p)[10];//定义一个数组指针

p = num; //指向num数组

printf("%p\n", num);

printf("%p\n", (num + 1));

printf("%p\n", (&num + 1));

printf("%p\n", p);

printf("%p\n", (p + 1));

return 0;

}

测试结果如下:

00b0dbabcd6fe639aa132fac5a92357a.png

可以看到num这个数组名确实和p得表现确实一致。那么谁和&num表现得是一致得呢?我们接着测试。

#include

int main()

{

int num[10][10] = { 0 };

int (*p)[10];//定义一个数组指针

int(*p1)[10][10] = #

p = num;

printf("%p\n", num);

printf("%p\n", (num + 1));

printf("%p\n", (&num + 1));

printf("\n");

printf("%p\n", p);

printf("%p\n", (p + 1));

printf("%p\n", (p1 + 1));

return 0;

}

下面我们来看这个测试得结果:

e53606c1336b7a10dd8431c345ff03d0.png

可以看到,&num和p1得表现是一致得。这说明&num得实际是一个指向int * [10][10]得数组指针。

有了上面得结论,我们下面接着看数组作为函数参数得问题。

数组做函数参数

数组做函数参数传递不是数组本身,而是数组地址。这样能提高C语言得效率,并且能节省空间。一维数组做函数参数是非常简单得,如下所示。

#include

void fun(int* num)

{

num[3] = 333;

}

int main()

{

int num[10] = { 0 };

fun(num);

printf("%d\n", num[3]);

return 0;

}

一维数组,我们这么写没有任何问题,结果如下所示。

56014856b5626ead854ae1ded00de6ab.png

那么二维数组得时候,我们由上面得分析可以得知,我们应当这么写:

#include

void fun(int (*num) [10]) //二维数组做函数参数可以这样传递

{

num[3][3] = 333;

}

int main()

{

int num[10][10] = { 0 };

fun(num);

printf("%d\n", num[3][3]);

return 0;

}

结果如下:

73f47dbcae58e10d35efe4f75e8b7860.png

这样就是说二维数组做函数参数可以传递一个指向一维数组得指针;实际上多维数组全部都是这样退化的。例如下面的三维数组。

2501ea8ebb0f1e19514484660dba3103.png

本文同步分享在 博客“zy010101”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

http://www.lbrq.cn/news/1056961.html

相关文章:

  • 商城网站建设方案书/南宁seo手段
  • 网站定位与功能分析/武汉seo认可搜点网络
  • 新疆网站开发哪家好/抖音seo点击软件排名
  • 张掖网站建设培训/seo的名词解释
  • 35互联做的网站后台怎样登录/网络推广专员是做什么的
  • wordpress 换数据库/杭州最好的seo公司
  • 网站权重多少4/谷歌浏览器中文手机版
  • 网站建设的整个流程图/dz论坛如何seo
  • 建设银行短信带网站/冯耀宗seo
  • 邯郸网站建设维护/武威网站seo
  • 个人网站搭建平台/重庆网站网络推广
  • 中企动力科技做什么的/重庆百度seo排名
  • 湖南网站设计企业/深圳谷歌网络推广公司
  • 做网站的公司/微信推广引流加精准客户
  • 有没有清仓处理的网站/google搜索引擎免费入口
  • 上海网站建设备案号怎么恢复/一站式网络营销
  • 怎么做产品的网站/百度推广助手
  • 网站建设与推广实训小结/搜索引擎收录查询
  • 西安网络建设公司/北京网站优化排名
  • adobe photoshop/搜外seo
  • 麦云短链接/seo图片优化
  • 网站建设公司新/网站排名查询
  • 深圳东门步行街图片/网站seo站长工具
  • 上市公司做网站有什么用/google国外入口
  • 网站空间租用续费服务合同/软件拉新推广平台
  • 个人网站做废品回收/益阳网站seo
  • ai写作网站/近期新闻事件
  • 西樵乐从网站建设/百度指数有哪些功能
  • 网站设计的目的是什么/西安网站关键词优化推荐
  • 做婚纱摄影网站价格/网站维护是什么意思
  • Python深度学习:从入门到进阶
  • iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解
  • Linux84 SHELL编程:流程控制 前瞻(1)
  • Excel商业智能分析报表 【销售管理分析仪】
  • Go语言高并发价格监控系统设计
  • LLM大模型开发-SpringAI:ChatClient、Ollama、Advisor