
正文
c语言子程序数组指针可以不定义,在c语言定义数组时可以不明确指数组大小
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言声明数组变量时,在什么情况上,可不指定
1、是啊 c中数组定义时要指定大小。 作为形参的时候,可以不指定,因为在函数调用的时候,数组会转为指针的。
2、C/C++中使用数据都必须要在定义的时候确定大小。
3、与你说的恰好相反,C语言规定在声明数组时必须指定长度。如int a[20];,只写int a[];是不允许的。其它语言规定大多如此。
相关问答
Q1: C语言指针的使用一定要依赖数组吗?
数组必须是连续空间,并且空间长度受限,而指针可以指向任意空间,并且可以用指针挂载无数个结点,数组是无法代替指针的。C语言就是个玩指针的游戏,楼主还是要把指针学好啊。
不可以,因为w这时还是野指针。只有这样 int *w,a[44];w=a;操作后才可以,操作w就与操作a一样了。而且,操作指针比直接操作数组名更方便,因为指针是变量,可以++、--,而数组名是常量,不能++、--。
c语言中数组和参数可以通用,数组有一个基址,c中用指针指向它,计算数组元素地址的时候,是基址+元素字节数*(元素序号-1)。
Q2: C语言数组指针的具体用法?
简言之,指针是用来存放地址的。作用:指向这个变量或数组的首地址,是变量的间接引用方式。其值如果改变,变量的值或数组元素的值也会跟着改变。程序对变量的操作实际上是对变量所在的存储空间读取和写入数据。
由于每次循环都将指针ptr加1,所以每次循环都能访问数组的下一个单元。
指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。
int **a可以表达一个二维数组。为什么呢?你可以这么理解 * p[3]表达的是一个数组指针,这个指针 p[0]表示的是数组存的第一个地址。而数组实际上是一串连续地址的块。每一个小块存着一个内容。
pa=//&a是一个指针表达式。int **ptr=//&pa也是一个指针表达式。ptr=//*ptr和&b都是指针表达式。pa=array;pa++;//这也是指针表达式。
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。
Q3: C语言中,哪些情况必须用指针类型,哪些情况可以不用指针类型而是改为直...
情况2 需要对数据进行改写 一般对应的数据是数组或结构体数据。比如memset函数函数,用于把传入指针的数据写入对应的数据。具体函数体内容不贴了,baidu查下吧。
所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。
指针的优点 是标识一块内存。电脑内存上的每一个字节都具有一个编号,称为地址(可以简单理解为指针),任何读写内存的指令都必须携带地址信息,否则电脑不知道读写那块内存。
(5)int*(*ptr)[4];//指针所指向的的类型是int*()[4] 在指针的算术运算中,指针所指向的类型有很大的作用。 指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。
基本类型指针 数组指针 指针,数组指针 数组指针:为指向数组的指针。
c语言子程序数组指针可以不定义的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于在c语言定义数组时可以不明确指数组大小、c语言子程序数组指针可以不定义的信息别忘了在本站进行查找喔。







