C语言 第10章-数组与指针

如题所述

C语言第10章-数组与指针


标量变量存储单一值时,我们称其为数组。设置只读数组时,用const,只能读取数组内容,不能修改。初始化数组时,若值少于元素数,剩余位置默认为0;省略方括号中的数字,编译器会根据列表项数自动确定数组大小。sizeof函数用于获取数组整体大小(以字节计)和单个元素大小,通过二者可计算元素个数。


数组的指定初始化,如4,5,6,后续初始化会覆盖前面。C语言不会检查下标是否正确,变长数组(a)的使用需特别注意。


多维数组中,如一个5x12的浮点数数组,通过嵌套for循环操作。初始化时,数值列表用花括号和逗号区分。同样规则适用于更高维度的数组。


指针在C语言中,是将指令以机器可读形式表达的关键。对数组处理更有效,数组名等同于数组首元素的内存地址,两者均为常量。通过指针,如short和double,可以观察到不同数据类型占用的字节数和指针移动的关系。


函数调用中,函数原型省略参数名不影响函数定义。数组与指针在函数传递中可以等价,如传入数组首地址和结束地址。指针操作包括赋值、解引用、取址,以及指针与整数的加减操作。对未初始化的指针要特别注意,必须先初始化。


多维数组与指针的交互中,zippo指向包含两个int的数组地址,而zippo[0]指向单个元素,需要两次解引用获取原始值。pz和pax是不同类型的操作,pz指向整型数组,而pax是包含指向int指针的数组。

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言 第10章-数组与指针
C语言第10章-数组与指针标量变量存储单一值时,我们称其为数组。设置只读数组时,用const,只能读取数组内容,不能修改。初始化数组时,若值少于元素数,剩余位置默认为0;省略方括号中的数字,编译器会根据列表项数自动确定数组大小。sizeof函数用于获取数组整体大小(以字节计)和单个元素大小,通过二者可...

c语言指针数组和数组指针的区别
对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于它指向的数组占多少字节,这个不能够确定,要看具体...

c语言指针与数组,怎么联系起来?
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。

C语言,指针 与 数组。
p指向的是数组第一个元素的地址 所以*p就是取p指向的这个地址的值.B错在str是指向字符串的指针 比如 printf("%s\\n",str);会输出整个Program 由此可以说明BCD都是错的 字符串的表现形式 在C程序中,可以用两种方法实现一个字符串。1. 用字符数组实现。[例8.11]void main(void){static char str...

C语言中数组和指针的问题。
先考虑LZ最后的表述。注意C语言中对象可以理解为被占据的连续的内存。值是对象的内容,包含类型和实际的存储表示(对整数类型就是数值,对指针类型一般实现为平坦地址空间元素的整数)。数组对象a的类型是int[3][4],即元素类型为int[4]、具有3个元素的数组类型;a[0]是它的元素,也是数组对象——...

C语言中,指针和数组的区别和联系?
区别:C语言把内存划分成四个区,它把一般的变量和数组等存在于内存中的栈区,所以数组在C语言的定义中只是一组同类型的普通变量,即使这个变量有可能是指针。所以他的作用比指针小的很多,而指针可以指向任何区的任何数据,所以就会觉得指针和数组名很像,但是必须要注意的是,数组名只是指针中的一种,...

新手求教关于C语言的数组与指针问题!求高手!
指向数组的指针pt是”,那就是A了……B——把数组pt的下标为5的元素强制为int *型指针,这错得太多。C——声明pt是有5个int *型指针元素的数组。D——声明pt为x个int *型指针元素的数组,[]中为空,语法都是错误的。A——声明pt是指向具有5个int型元素的一维数组的指针,正确。

C语言的数组和指针问题,谢谢高手的解答!
总结,问题的关键在于,数组名相当于一个指向于这个数组第一个元素的指针。3)所以,int A[2][3][4]={0};A是一个三维数组,其中A[0]和A[1]都是它的元素,A[0]是第一个元素。所以, A是一个三级指针,指向了这个数组的第一个元素A[0],而A[0]是一3*4的二维数组。而A[0]是一个...

C语言中,数组和指针定义在内存方面的区别在哪?
1,指针变量用于保存数据的地址,数组用于直接保存数据(当然你可能见过,数组的每个元素是指针,不过,一组指针也是数据,它们各自的内容才是地址)2,访问方式:指针是间接访问,首先取得指针的内容作为地址,再去该地址访问数据;数组是直接访问,数组名即是地址 3,指针通常用于动态数据;数组通常用于固定...

指针与数组的关系是什么啊
1、指针:系统为某一个变量开辟单元格,指针便指向此单元格的变量值。2、数组:系统为某一组数开辟一组单元格,数组首地址便是你定义的数组变量名。数组和指针的唯一区别是,不能改变数组名称指向的地址。对于数组来说,数组的首地址,也可以用指针来表示操作,如:int a[10];int *p,n;p = a;...

相似回答
大家正在搜