`

指针和数组基础知识

 
阅读更多

 

/*
数组元素的访问方式
1、数组名[下标]
2、指针量名[下标]
3、*(p+i)
p+1,指针+1,则指针指向的地址加4
*/

#include "stdafx.h"

void changeNum(int *array);

int main(int argc, char* argv[])
{
	int ages[] = {10, 20, 30, 40};

	int *p = &ages[0];//指针指向数组的首地址

	printf("%d\n", *p);//输出10

	printf("%d\n", *(p+1));//输出20

	int *p1 = ages;//p1指向10的地址,由此可见,此赋值与int *p = &ages[0]相等

	printf("%d\n", *p1);//输出10

	changeNum(ages);

	int s1 = sizeof(p);
	printf("int类型指针大小%d\n", s1);//输出4

	double *p2;
	int s2 = sizeof(p2);
	printf("double类型指针大小%d\n", s2);//输出4

	char *p3;
	int s3 = sizeof(p3);
	printf("char类型指针大小%d\n", s3);//输出4
	//由此可见,3种类型的指针,大小都为4

	return 0;
}

void changeNum(int *array) {
	int s = sizeof(array);
	printf("%d\n", s);//输出4,也就是说,不管多大的数组传递过来,都变成了指针传递
	printf("%d\n", *array);//得到数组的第一位,因为指针指向数组的首地址
}

 

 

分享到:
评论

相关推荐

    11.3 指针和数组.7z

    在C语言中,指针和数组是两个非常重要的概念,它们是理解和操作内存的基础。 指针是C语言中的一个关键特性,它允许我们存储变量的内存地址,从而可以间接地访问和修改该变量的值。通过指针,我们可以实现高效的数据...

    java双指针和数组.zip

    本资料包“java双指针和数组.zip”可能是关于如何在Java编程中应用双指针解决数组相关问题的学习记录,具体包含一个名为"algorithm-learning-record-master"的文件夹,可能包含了源代码、笔记、练习案例等内容。...

    指针与数组基础整理

    在编程实践中,指针和数组通常是需要频繁操作和深入理解的部分,尤其是对于内存管理、数据结构的操作以及系统编程中,这些基础知识更是不可或缺。熟练掌握指针操作与内存管理可以帮助开发者写出更高效、更健壮的代码...

    论C语言中指针和数组关系.pdf

    总结来说,掌握了指针和数组之间的关系,就能够更加深刻地理解C语言中数据存储和访问的方式,以及如何有效地运用指针进行复杂的数据操作和算法实现。对于一名程序员而言,充分掌握指针的使用,可以极大地提高编程的...

    C语言程序设计入门(加强了基础方面的知识,加强了指针和数组方面的内容)

    此外,指针与数组的结合使用也是C语言中的常见技巧,例如动态内存分配、链表等数据结构的实现都离不开指针。 数组在C语言中是另一种基本的数据结构,用于存储同类型元素的集合。理解数组的声明、初始化和遍历是必备...

    精选C语言指针资料大全

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

    对C语言指针知识的总结

    在使用指针操作数组时,需要注意数组越界的问题。指针运算时可能会越过数组的界限,访问到非法内存区域,这会引发不可预料的错误。因此,编写指针操作的代码时,必须确保指针始终保持在合法的内存范围内。 指针与...

    关于C指针的知识精要

    描述:本文主要讲解了复杂指针的阅读法则,并对函数指针、指针常量、野指针和数组进行了详细的说明。 知识点: 1. 复杂指针声明的阅读法则: - 右左法则:从变量标识符开始阅读,向右遇到变量名时转向左,遇到圆...

    C++习题 6数组与指针

    #### 一、基本概念与基础知识自测题解析 ##### 5.1 填充题 **5.1.1 数组定义时有三个要素:** - **数组名**:数组的名字,用来标识这个数组。 - **数组元素的类型**:数组中所有元素的数据类型必须相同。 - **...

    指针和一维数组

    6. 避免常见的指针和数组错误,如未初始化的指针、越界访问等。 最后,文件名中出现的.exe和.obj文件通常是编译后的可执行文件和编译中间产物,表明这些代码已经成功编译并可能用于测试和运行。"福缘网赚宝盒2.5....

    C语言指针教学中的知识点分析与总结.pdf

    在指针教学过程中,一些概念容易混淆,本文将对C语言指针的基础知识点进行分析和总结。 首先,指针的基本概念是指向变量、数组、函数或其他指针的内存地址的变量。地址可以理解为一个指针变量的值。理解指针类型的...

    指针最新练习题库.pdf

    通过指针和数组下标可以互相访问元素,如`*(ptr+n)`和`ptr[n]`都表示访问数组中的第n+1个元素。 4. 指针与函数:指针可以作为函数参数传递,允许在函数内部修改指针变量的值,从而影响原始数据。`chang`函数即为...

    c++指针与数组.ppt

    在C++编程语言中,指针和数组是两种非常重要的数据结构,它们有着密切的联系。指针可以用来存储内存地址,从而实现对变量、数组、结构体甚至函数的间接访问。下面将详细阐述指针和数组的相关概念及用法。 1. **指针...

    嵌入式c经典指针资料

    另外,指针和数组在C语言中紧密关联。数组名本质上就是一个指向其首元素的指针,因此可以使用指针进行数组操作。例如,`int arr[5]; int *ptr = arr;`,这里的ptr就是指向arr数组首元素的指针,通过ptr我们可以遍历...

    c++指针数组.rar

    在C++编程语言中,指针和数组是两种基本的数据结构,它们各自有着独特的作用,但当它们结合在一起时,可以实现更复杂的功能。本文将深入探讨“C++指针数组”的概念、用途以及相关操作。 一、指针与数组的基础知识 1...

    C语言指针和数组的一些个人体会

    在C语言中,指针和数组是两种非常重要的数据结构,它们在编程中扮演着核心角色。指针是一个变量,其存储的是另一个变量的地址,允许我们间接访问和修改该地址处的值。通过指针,我们可以实现动态内存管理、函数参数...

    c语言指针面试习题以及答案.docx

    1.2 指针和数组 题目: 请解释数组名和指针的关系,并写一个示例代码来演示它们的等价性。 答案: 在C语言中,数组名代表数组的首元素地址,可以用指针来访问数组元素。数组名本质上是一个指向数组首元素的指针。

    一份不错的C语言指针教程.rar_c语言指针

    7. **指针与数组**:对比指针和数组的相似性,如何通过指针遍历数组,以及如何通过数组名隐式地传递数组的首地址。 8. **指针与结构体**:讲解如何使用指针操作结构体,包括结构体指针的声明和使用,以及结构体数组...

Global site tag (gtag.js) - Google Analytics