`

指针和数组基础知识

 
阅读更多

 

/*
数组元素的访问方式
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);//得到数组的第一位,因为指针指向数组的首地址
}

 

 

分享到:
评论

相关推荐

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

    C语言入门,更适合大学初学者的学习。对C语言的各个知识点都有讲解,而且加强了对指针和数组方面的内容。

    2017计算机应用基础知识.docx

    2017计算机应用基础知识 1.1数据结构与算法 借助于计算机解决问题,首先需要了解所处理对象的性质和特点即所操作对象的数据结构,然后再设计解决问题的方法和步骤即设计一个合理的算法,即通常所说的"程序=数据结构...

    计算机二级公共基础知识

    二级公共基础知识速学教程 2. 栈的顺序存储及其运算 栈的基本运算有3种:入栈、退栈与读栈顶元素。 ① 入栈运算:在栈顶位置插入一个新元素; ② 退栈运算:取出栈顶元素并赋给一个指定的变量; ③ 读栈顶元素:将...

    pointer-tutorial:C 中指针和数组的教程-开源

    这是Ted Jensen的C语言中的“指针和数组教程”。Ted曾经使其在其netcom网站上可用,但最近已被删除。这是为了保留我认为的C语言中关于指针的最佳教程。 本教程旨在为 C 编程语言的初级程序员介绍指针。 在阅读和参与...

    图文详解c/c++中的多级指针与多维数组

    首先先声明一些常识,如果你对这些常识还不理解,请先去弥补一下基础知识:  1、实际上并不存在多维数组,所谓的多维数组本质上是用一维数组模拟的。  2、数组名是一个常量(意味着不允许对其进行赋值操作),其...

    示波器和电压表之间的区别和示波器的基础知识.pdf

    示波器和电压表之间的区别和示波器的基础知识pdf,普通的电压表是在其度盘上移动的指针或者数字显示来给出信号电压的测量读数。而示波器则与共不同。示波器具有屏幕,它能在屏幕上以图形的方式显示信号电压随时间的...

    程序员面试宝典-第三版(高清带目录)

     7.4 指针数组和数组指针  7.5 迷途指针  7.6 指针和句柄  第8章 循环、递归与概率  8.1 递归基础知识  8.2 典型递归问题  8.3 循环与数组问题  8.4 螺旋队列问题  8.5 概率  第9章 STL模板与容器  9.1 ...

    C++入门经典(第9版) ([美]Walter Savitch著) 中文pdf完整扫描版[302MB]

    第2章 C++基础知识 第3章 更多的控制流程 第4章 过程抽象和返回值的函数 第5章 所有子任务的函数 第6章 I/O流:对象和类入门 第7章 数组 第8章 字符串和向量 第9章 指针和动态数组 第10章 定义类 第11章 类中的友元...

    传智播客扫地僧视频讲义源码

    12_数组中括号与指针关系和数组名常量指针分析 13_字符串一级指针内存模型_传智扫地僧 14_字符串copy函数技术推演 15_字符串copy函数强化训练_判断null_引入辅助指针变量_传智扫地僧 16_项目开发模型强化_strstr_...

    AcWing算法基础课模板大全

    基础算法 —— 代码模板链接 常用代码模板1——基础算法 排序 二分 高精度 前缀和与差分 双指针算法 位运算 离散化 区间合并 数据结构 —— 代码模板链接 常用代码模板2——数据结构 链表与邻接表:树与图的存储 ...

    建议收藏算法基础课模板大全

    基础算法 —— 代码模板链接 常用代码模板1——基础算法 排序 二分 高精度 前缀和与差分 双指针算法 位运算 离散化 区间合并 数据结构 —— 代码模板链接 常用代码模板2——数据结构 链表与邻接表:树与图的存储 ...

    leetcode2-Nine-Chapters:AwakenCN组织的数据结构与算法篇,强化数据结构与算法的基础知识,从而达到学以致用的目的,

    AwakenCN组织的数据结构与算法篇,强化数据结构与算法的基础知识,从而达到学以致用的目的,其次就是在跳槽可以拿到更好的offer。 算法宝典 数据结构 数组(Array) : 数组是一种聚合数据类型,它是将具有相同类型的...

    你必须知道的495个C语言问题.pdf

    作者在网络版CFAQ列表的基础上进行了大幅度的扩充和丰富,结合代码示例,权威而且详细深入地解答了实际学习和工作中最常遇到的495个C语言问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等...

    Java2核心技术.part5

    基础知识 目录: 译者序 前言 第1章Java程序设计概述 1.1 Java程序设计平台 1.2 Java“白皮书”的关键术语 1.2.1简单性 1.2.2面向对象 1.2. 3分布式 1. 2.4健壮性 1. 2.5安仝性 1. 2.6体系结构...

    JVM GC原理深入学习.pdf

    同时,为了能更深入理解与之相关的知识点,本文特地编写了“第二章 基础知识”,详细的讲解与GC学习相关的JVM架构、JVM选项、Object内存布局、指针压缩等内容,以便读者能更加清晰的理解GC原理的底层逻辑。

    09年二级C语言考试大纲

    基本要求 1.熟悉Visual C++ 6.0集成开发环境。...笔试:120分钟,满分100分,其中含公共基础知识部分的30分。 2.上机:60分钟,满分100分。 上机操作包括: (1)填空。 (2)改错。 (3)编程。

    Windows系统下Fortran编程

    第一讲 基础知识及开发环境 第二讲 数据类型及格式化输入输出 第三讲 语句结构和数组 第四讲 接口及函数(子程序) 第五讲 指针及链表 第六讲 并行计算基础及操作 Fortran 与 C C# 混合编程 自动化操作:调用外部程序...

    二级c未来教育题库破解及资源

    单项选择题40分(含公共基础知识部分10分)。 操作题60分(包括程序填空题、程序修改题及程序设计题)。 2.考试环境 操作系统:中文版Windows 7。 开发环境:Microsoft Visual C++ 2010学习版。

    C程序范例宝典(基础代码详解)

    本书全面介绍了应用C语言进行开发的各种技术和技巧,全书共分12章,内容包括基础知识、指针、数据结构、算法、数学应用、文件操作、库函数应用、图形图像、系统调用、加解密与安全性、游戏、综合应用等。全书共提供...

    计算机软件工程练习.doc

    (二)C语言基础 1.基本知识:C语言的组成、C语言的特点、C语言的编译过程;算法的概念和特性; 结构化程序设计相关概念;各种数据类型的常量和变量表示;运算符的使用和表达式的 计算;输入与输出函数的使用。 2....

Global site tag (gtag.js) - Google Analytics