指针

数组和指针

房东的猫 提交于 2020-03-23 12:00:52
本节结束。================================================================== 数组类型:是一个复杂类型;(由数组元素类型和数组长度综合表述)如下;数组类型是:(int []); 类型的本质是:固定大小内存块的别名。是模具。 一. 对一维数组 C语言规定: int c[10]; 1.一维数组名:c是数组首元素的地址,c+1步长为 4个字节,一个 int 元素大小。 &c是整个数组的地址,&c+1步长为40个字节,十个 int 元素大小 虽然c和&c的值相同,但是他们所代表的步长不同。 2.数组第i 个元素这样表示:c[i] 或 *(c+i); 给它赋值。c[i] = 5 或 *(c+i) = 5; 本节结束。================================================================== 二. 多维数组(int a[3][4]) 1.多维数组名:a是指向一个一维数组 的数组指针,a 的步长为一维的长度(即每次+1都跳一行)(16个字节,四个int元素元素大小) 2.(a+i)代表是整个第i行的地址,(代表二级指针) *(a+i)代表第i行首元素地址 (代表一级指针) *(a+i)+j或(&a[i][j])代表第i行第j个元素的地址 *(*(a+i)+j)或(a[i]

指针的理解

旧巷老猫 提交于 2020-03-23 09:22:20
指针 (Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为"指针"。意思是通过它能找到以它为地址的内存单元。在 高级语言 中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用 暂存器 的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。 来源: https://www.cnblogs.com/tyty/p/4892849.html

指针的了解

放肆的年华 提交于 2020-03-23 09:21:25
在计算机科学中, 指针 (Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。 在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。 在信息工程中指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中寄存器(Register)【用来指向该内存地址所对应的变量或数组】。指针一般出现在比较接近机器语言的语言,如汇编语言或C语言。面向对象的语言如Java一般避免用指针。指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的函数的值。 使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能,例如在遍历字符串,查取表格

资料——指针

Deadly 提交于 2020-03-23 09:20:04
在计算机科学中, 指针 (Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的 内存单元 。在 高级语言 中,指针有效地取代了低级语言,如 汇编语言 与机器码,直接使用通用 暂存器 的地方,但它可能只适用于合法地址之中。指针参考了 存储器 中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。 在信息工程中指针是一个用来指示一个 内存地址 的计算机语言的变量或 中央处理器 (CPU)中 寄存器 (Register)【用来指向该内存地址所对应的变量或数组】。指针一般出现在比较接近 机器语言 的语言,如汇编语言或 C语言 。 面向对象 的语言如 Java 一般避免用指针。指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的函数的值。 来源: https://www.cnblogs.com

C语言指针的概念

拥有回忆 提交于 2020-03-23 09:17:37
在计算机中,所有的数据都是存放在内存中的,一般把内存中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不一样,如int占用4个字节,char占用1个字节。为了正确地访问这些内存单元,必须为每个内存单元编上号。每个内存单元的编号是唯一的,根据编号可以准确地找到该内存单元。 内存单元的编号叫做地址(Address),也称为指针(Pointer)。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们用银行卡到ATM机取款时,系统会根据我们的卡号去查找账户信息,包括存取款记录、余额等,信息正确、余额足够的情况下才允许我们取款。在这里,卡号就是账户信息的指针, 存取款记录、余额等就是账户信息的内容。对于一个内存单元来说,单元的地址(编号)即为指针,其中存放的数据才是该单元的内容。 在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。 设有字符变量c,其内容为 'K'(ASCII码为十进制数 75),c占用了0X11A号内存单元(地址通常用十六进数表示)。设有指针变量p,内容为 0X11A,这种情况我们称为p指向变量c,或说p是指向变量c的指针。 严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针

[C]为什么发明指针?

故事扮演 提交于 2020-03-23 09:16:18
指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。 指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章中已有详细的介绍。为了正确地访问这些内存单元, 必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。对于一个内存单元来说,单元的地址即为指针,

C语言指针的概念

萝らか妹 提交于 2020-03-23 09:15:51
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。 内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时,银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。 对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。 在C语言中,允许用一个变量来存放指针,这种变量称为 指针变量 。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。 图中,设有字符变量C,其内容为“K”(ASCII码为十进制数 75),C占用了011A号单元(地址用十六进数表示)。设有指针变量P,内容为011A,这种情况我们称为 P指向变量C ,或说 P是指向变量C的指针 。 严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针

黑马程序员-----指针

爱⌒轻易说出口 提交于 2020-03-23 09:15:33
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ------- 第一讲 指针的基本概念 一、基本概念 内存单元的编号叫做地址。 //根据内存单元的编号或地址就可以找到所需的内存单元,所以通常把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 总结:对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。 二、使用指针好处 a.为函数提供修改调用变量的灵活手段。 b.让函数有多个返回值。 //简易计算器 1 #include<stdio.h> //定义一个函数,有加,减,乘,除 2 void caculator(int x,int y, int *add , int *jian , int *cheng, float *chu){ 3 //在函数的内部访问了主调函数中的变量值 4 //加法指针变量表达式 5 *add = x + y; 6 7 //减法指针变量表达式 8 *jian = x - y; 9 10 //乘法指针变量表达式 11 *cheng = x * y; 12 13 //除法指针变量表达式 14 *chu = x /(float)y; 15 16 } 17 int main(int

黑马程序员——指针的应用

大兔子大兔子 提交于 2020-03-23 09:15:21
黑马程序员——指针的应用 ------- android培训 、 ios培训 、期待与您交流! ---------- 内存单元的标号也叫做地址,既然根据内存单元的编号或地址可以找到所需的内存单元,所以通常也把这个地址成为指针 允许用一个变量来存放指针,这种变量称为指针变量 指针是一个地址,是一个常量 指针变量存放一个地址,是一个变量 **1 、定义指针变量 ** 一般形式为:类型说明符 *变量名; *表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型 例如:int *pi; //一个指向整形变量的指针 long *pi; //一个指向长整形变量的指针 float *pi;//一个指向浮点型变量的指针 char *pi;//一个指向字符型变量的指针 **2 、指针变量的定义** 数据类型 *指针变量名 int *p; //定义了一个指针变量,变量名为p。。int表示,p只能存放一个int类型的变量的地址 char *p1; //定义了一个指针变量,变量名为p1。。p1只能存放一个char类型数据变量的地址 注意:1)*必须得有,如果没有就相当于定义一个普通变量。2)指针变量不能用来存放数值或者字符。3)指针变量有全局和局部之分 **3 、指针变量的初始化和引用** 1)指针变量的初始化 1、定义的同时初始化:int *p=&a; 2

第三章:6.栈和队列 -- 离散事件模拟

时光总嘲笑我的痴心妄想 提交于 2020-03-22 23:39:19
前言:   本节讲述,队列的入队 和 离队行为,由事件决定情况下,是如何实现的。 目录:    离散事件模拟 正文:   问题:假设某银行有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务,反之,若4个窗口均有客户所占,他便会排在人数最少的队伍后面。现在需要编制一个程序以模拟银行这种业务活动并计算一天中客户在银行逗留的平均时间。   解题关键:掌握每个客户到达银行和离开银行这两个时刻,两者相减即为客户逗留时间。将逗留时间累加 除以 客户总数量 即为平均逗留时间。   设:    在这里,每天银行开门的时间点 为 0 ,数字1代表1分钟,每天八小时 即CloseTime 为480, 客户逗留时间 为30分钟以内。两个客户到达 时间间隔 在5分钟以内。   事件:  模拟程序中,共分为5种事件,1.客户到达事件,2-5.客户分别从四个窗口的离开时间。   事件结点:       typedef struct{        int OccurTime;    //事件发生时间        int NType;      //事件类型,0:客户到达,i (1-4):客户离开第 i 个窗口       }Event   客户节点: