指针数组如何定义_如何定义指针数组和数组指针

指针数组如何定义_如何定义指针数组和数组指针C语言-数组和指针(一)指针数组和数组指针的定义指针数组:首先是一个数组,这个数组的每个成员是一个指针变量。数组指针:首先是一个指针,这个指针指向一个数组。代码如下数组和指针是同一个东西吗?我们在很多地方都可以看到数组和指针混用的,但是数组和

C语言-数组和指针(一)
  指针数组和数组指针的定义

  指针数组:首先是一个数组,这个数组的每个成员是一个指针变量。

  数组指针:首先是一个指针,这个指针指向一个数组。

  代码如下

  数组和指针是同一个东西吗?

  我们在很多地方都可以看到数组和指针混用的,但是数组和指针是一个东西吗?

  绝对不是一个东西,数组就是数组,指针就是指针,只不过有时候批着外衣的狼。指针数组如何定义_如何定义指针数组和数组指针指针数组如何定义_如何定义指针数组和数组指针

  p1是一个数组,代表10个int*变量的整体

  p2是一个指针,只能代表一个指针变量,在32机里面就是一个4bytes空间大小的地址。

  测试代码

  指针数组如何定义_如何定义指针数组和数组指针指针数组如何定义_如何定义指针数组和数组指针p2的大小是0x28对应十进制就是40

  数组作为参数传给指针

  例子一

  函数传参数的时候,我们正常会传一个值的拷贝过去,但是数组是一块连续的内存区域,如果直接拷贝过去,速度会很慢,而且会很占内存,所以~下面这句话

  C 语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向其首元

  素首地址的指针。

  所以上面的size的值应该是4指针数组如何定义_如何定义指针数组和数组指针指针数组如何定义_如何定义指针数组和数组指针

  大家可以自己测试下输出的结果

  能否把指针变量本身做为参数传给函数?

  看代码

  大家看看这个代码有什么问题?

  str传给函数的并不是函数本身,而是它的一个拷贝,我们姑且命名为str,所以p = (char*)malloc(num*sizeof(char)); 实际上是 _str = (char*)malloc(num*sizeof(char));后面再调用strcpy(str)就异常了。指针数组如何定义_如何定义指针数组和数组指针指针数组如何定义_如何定义指针数组和数组指针

  函数可以这样修改

  指针数组如何定义_如何定义指针数组和数组指针指针数组如何定义_如何定义指针数组和数组指针调试看str的值

  一种方法是函数返回值,一种方法是二级指针,大家在写代码的时候要非常注意。

  写代码研究问题,一定要理论和实践相结合,不要一味看死书,当然你考研就另说了,实践可以增加我们的理解,多看内存里的东西,这样更加靠谱。

  欢迎-嵌入式Linux

  觉得不错,请帮忙转发,点赞,您的每一次支持,我都将铭记于心

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/94465.html

(0)
上一篇 2024年 5月 26日 下午1:21
下一篇 2024年 5月 26日 下午1:36

相关推荐

关注微信