xbns.net
当前位置:首页 >> C语言怎样把数组变成指针 >>

C语言怎样把数组变成指针

用不着像楼上那样复杂,还要重新定义指针,重新编程,只需应用这个原理就可以了[]运算符的原理:是将地址移动[]运算符中的数量然后求指针,比如a[4]=*(a+4),所以这个题只需把有[]下标运算符的地方按照这个规则修改就行了.#include "

char *str=s; 这个str就是那个字符串的指针.

不能,在某些情况下虽然可以通用,但他们内部实现机理是不一样的,简单说,可以把数组名当做指向数组第一个元素的指针,但这个指针你并不能让它指向别的元素,比方说a[10] ,a代表 &a[0], *(a+2) 代表a[2],但是你要是用a=&b,那就错了,因为a不能指向别的元素,这么解释明白了不?望采纳

数组名可以认为是常量指针, 本身值不能更改 ,但是可以参与运算. 指针可以当做数组使用, 按照下标方式访问. 以上仅限于一维指针和一维数组 对于多维数组, 可以转为一维指针.

数组名就是数组元素的首地址,如int a[3],a和&a[0]是一样的.要想操作里面的元素,可以直接用,如a[2],也可以定义一个指针,让它指向a,然后用指针来操作!

int num[5]; int *p = num; 数组名是指针常量,是指向内存空间的一个常量,本身不能做左值被修改, 不能出现num = 什么 num[n]相当于 从num地址开始便宜n*sizeof(int)个位置然后取值,相当于 *(p+n) p是指针变量 可以做左值 你还有什么不明白的.

数组和指针的区别:数组名确实表示指向数组首地址的指针,但这个指针很特别,它的值(指针的值指的是指针所指的地址)不能被改写,能改写的仅仅是其指向的内容,换句话说,数组名只能指向数组的首地址,如果有数组char a[];那么如果

这个就是将“某变量”转换为”某类型“的指针了.通过这个指针,就相当于以”某类型“的方式来看待那个变量.例如,常用的一种转换就是把int型转换为(char*)这样就可以读取int的每个字节在内存中到底是什么.

指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定.它是“储存指针的数组”的简称.数组指针:首先它是一个指针,它指向一个数组.在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不

比如 *p[i], *p[0]就是其中一个指针,依次类推.int *p[i],*q; q=p[0];这里q就指向了指针数组p[0]的首地址;也可以这样写:p=q; p++;q就会指向下一个元素的地址了;q++=p++;那么q[1]就指向了p[1]; 个人理解,只可参考,采纳与否,看楼主了.

网站首页 | 网站地图
All rights reserved Powered by www.xbns.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com