`

指针数组探究

 
阅读更多

       1.首先定义一个指针数组,存储int型的指针元素。

                                           int * parray[3];

       赋值给该数组:

                           int a=1,b=3,c=5;

                   parray[0]=&a;

                           parray[1]=&b;

                   parray[2]=&c;

猜猜:                 printf("%d\n",sizeof(parray));的打印值。

//结果:
12

 原因:一个指针占4个字节,数组有三个元素所以是:4*3=12。   若换成char * parray是一样的,和元素类型无关。

          2.再看看这个:

        char **parray[3];	
	printf("%d\n",sizeof(parray));
//结果
12


        char *(*parray)[3];	
	printf("%d\n",sizeof(parray));
//结果
4

 

       3.来看看这个:

        int a=1,b=3,c=5;
	int *parray[3];
	parray[0]=&a;
	//*(parray++)=&b;       //非法的,数组的这个表示比较特殊不能像指针那样移动,应该赋值给一个int *p=parray;后再用p移动。

	printf("%d\n",parray[0]);
//结果,parry[0]中存储的是指针(即地址)。
1245024            //就是a的地址。通过*parray[0]可以取到a的值。*的含义就是根据这个地址去取值。

 

分享到:
评论

相关推荐

    C语言指针教学探究.pdf

    《C语言指针教学探究》针对教学过程中遇到的问题,提供了一系列解决方案,旨在帮助初学者理解并熟练掌握指针,为深入学习C语言打下坚实基础。 指针之于C语言,就如同灵魂之于人类,无处不在,又难以捉摸。由于指针...

    关于2维数组与指针的探究

    标题中的"关于2维数组与指针的探究"涉及到如何理解和操作2维数组的指针。 2维数组`board[3][3]`可以看作是一个3x3的矩阵,它包含了3个1维数组,每个1维数组包含3个元素。在内存中,这些元素是连续存储的,因此我们...

    指针及解答

    - 了解如何声明和初始化指针数组,以及如何通过指针数组访问和操作数据。 4. **精通使用指针处理字符串**: - 字符串在C语言中被表示为字符数组,因此可以使用指针进行高效的字符串操作。 - 学习字符串复制、...

    C_C++数组名与指针区别探索

    ### C/C++数组名与指针的区别探究 #### 引言 在C/C++编程语言中,指针是一个非常重要的概念。它不仅提供了强大的内存管理能力,还是理解更高级概念的基础之一。与此同时,数组也是这两种语言中不可或缺的一部分,...

    C语言教学中指针的教法探究.pdf

    通过指针可以实现数组的动态访问,包括访问数组元素、遍历数组以及实现数组的各种操作。指针与数组的关系是C语言教学中的一个重要内容,理解这一点对于学习指针和数组都是至关重要的。 字符串在C语言中是以字符数组...

    C语言指针探究.pdf

    例如,一个指针可以指向数组的首元素,使得处理数组变得简单;字符串在C语言中被视为字符数组,可以使用字符指针操作;结构体指针则允许我们处理复杂的数据结构;函数指针可以作为其他函数的参数,实现回调或策略...

    精选C语言指针资料大全

    - 指针与数组的关系:探究指针和数组之间的等价性,如何通过指针遍历数组。 - 动态内存管理:学习malloc()、calloc()、realloc()和free()函数,理解动态内存分配和释放。 2. **C指针详解**: - 链表:介绍单链表...

    对C语言指针教学问题的探究.pdf

    `,此时`ptr`相当于指向数组第一个元素的指针,`ptr+1`则指向数组的第二个元素。 此外,指针在函数参数传递中的应用是另一个难点。通过指针,函数可以修改实参的值,实现所谓的“传址调用”。例如,`void swap(int ...

    c语言数组学习与项目练习

    5. 探究数组作为函数参数的原理,理解指针和数组的关系。 通过这些练习,你将更深入地理解C语言数组的特性和用途,提升你的编程技能。记得实践是检验真理的唯一标准,动手编写代码,不断尝试和改进,你的C语言数组...

    探究C语言中的字符串.pdf

    要存储多个字符串数据就要使用字符指针数组 char*fr[4],一个一维 char* 数组。 字符串在 C 语言中的存储和操作方式是非常重要的,需要了解字符串的存储方式、字符串和字符数组的区别、字符串相关处理函数的使用和...

    C语言编程技术实践2020版 数组作为函数参数翻转课堂教学设计.docx

    而数组名称在C语言中被视为指向数组首元素的指针,因此,当数组名称作为函数参数传递时,实际上传递的是数组首元素的地址,而非整个数组的副本。 学习目标包括了这两个知识点的掌握,这对于理解和编写涉及数组操作...

    C语言指针部分教学心得.pdf

    6. 数组和指针变量在使用时的区别,包括指针可以通过算术运算来改变指向的位置,而数组名则是一个固定的地址。 7. 指针移动时移动的位移量与指针所指向的数据类型有关,如int和char类型指针移动的位移量不一样。 在...

    C语言课程案例教学模式的探究与思索.pdf

    为了正确理解和使用指针,学生需要掌握C语言的基本概念,包括变量、数据类型、运算符、控制结构、函数、数组和指针等。指针是C语言中最主要的一种数据类型,它可以直接对内存中的各种数据结构的数据进行快速处理,...

    objc运行时源码探究

    非NULL且未设置CLS_NO_METHOD_ARRAY标记,指向一个方法列表指针数组。objc类结构的这种设计允许动态添加类别(categories)和方法。 objc_msgSend函数是objc运行时机制中处理消息发送的核心函数。当在Objective-C...

    实验10指针2(修复的).doc

    #### 实验10:指针应用深入探究 ##### 实验目的 1. **进一步掌握指针的应用**:本实验旨在帮助学生深入理解指针的概念及其在实际编程中的应用技巧。 2. **能正确使用数组的指针和指向数组的指针变量**:学习如何...

    c语言程序设计及应用技巧

    3. 指针与数组:探究指针与数组之间的关系,如何通过指针操作数组。 四、结构体与联合体 1. 结构体:理解结构体的定义和使用,学习如何创建包含不同类型成员的结构体。 2. 联合体:了解联合体的特性,以及与结构体...

    js线性表插件 数组,链表,简单实现.rar

    单向循环链表与单链表类似,不同之处在于最后一个节点的next指针指向链表的第一个节点,形成一个环。这使得在链表末尾进行操作更加方便,无需特殊处理。同样,遍历和查找效率与单链表相当。 4. **双向链表实现**:...

Global site tag (gtag.js) - Google Analytics