当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言指针怎么用

更新:04-09 整理:39baobao.com
字体:

[C语言用指针在数组中查找特定值]#include<stdio.h> int find(int *p,int n,int b) { int i=0; while(i<n) { if(*p++==b) return i; i++; } return -1; } int main() { int k; int a[]={1,2,3,4,5}; int b;...+阅读

在c语言中.指针被用来表示内存单元的地址,如果把这个地址用一个变量来保存,则 这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。 严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。 内存是计算机用于存储数据的存储器,以字节作为存储单元.为了能正确的访问内存单 元,必须为每一个内存单元编号,这个编号就称为该单元的地址。如果将一个旅店比喻成内 存,则旅店的房间就是内存单元,房间号码就是该单元的地址。 指针变量定义格式: [存储类型] 数据类型 *指针变量名[=初始值] 指针变量一旦定义,必须采用赋值的方式将其与某个变量实体相联系,才能使用。指针 变量的赋值方式: 指针变量名;&普通变量名;

请详细的说明下C语言的指针功能

指针是C语言中广泛使用的一种数据类型。运用指针编程是C 语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能 很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址, 从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学 习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是 我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困 难的一部分,在学习中除了要正确理解基本概念,还必须要多编程, 上机调试。只要作到这些,指针也是不难掌握的。

☆指针的基本概念☆ 在计算机中,所有的数据都是存放在存储器中的。 一般把存储 器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存 单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章 中已有详细的说明。为了正确地访问这些内存单元, 必须为每个内 存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单 元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址 就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内 存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通 俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工 作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写 入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存 单的内容。对于一个内存单元来说,单元的地址即为指针, 其中存 放的数据才是该单元的内容。在C语言中, 允许用一个变量来存放 指针,这种变量称为指针变量。因此, 一个指针变量的值就是某个 内存单元的地址或称为某内存单元的指针。图中,设有字符变量C, 其内容为“K”(ASCII码为十进制数 75),C占用了011A号单元(地址 用十六进数表示)。设有指针变量P,内容为011A, 这种情况我们称 为P指向变量C,或说P是指向变量C的指针。 严格地说,一个指针是 一个地址, 是一个常量。而一个指针变量却可以被赋予不同的指针 值,是变量。 但在常把指针变量简称为指针。为了避免混淆,我们 中约定:“指针”是指地址, 是常量,“指针变量”是指取值为地 址的变量。 定义指针的目的是为了通过指针去访问内存单元。 既然指针变量的值是一个地址, 那么这个地址不仅可以是变量 的地址, 也可以是其它数据结构的地址。在一个指针变量中存放一 个数组或一个函数的首地址有何意义呢? 因为数组或函数都是连续 存放的。通过访问指针变量取得了数组或函数的首地址, 也就找到 了该数组或函数。这样一来, 凡是出现数组,函数的地方都可以用 一个指针变量来表示, 只要该指针变量中赋予数组或函数的首地址 即可。这样做, 将会使程序的概念十分清楚,程序本身也精练,高 效。在C语言中, 一种数据类型或数据结构往往都占有一组连续的 内存单元。 用“地址”这个概念并不能很好地描述一种数据类型或 数据结构, 而“指针”虽然实际上也是一个地址,但它却是一个数 据结构的首地址, 它是“指向”一个数据结构的,因而概念更为清 楚,表示更为明确。 这也是引入“指针”概念的一个重要原因。

本文来自CSDN博客,转载请标明出处:

本文地址:https://www.39baobao.com/show/29_49610.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

c语言指针变量怎么理解怎么用指针变量是一个变量,它保存的是另一个变量的内存地址。你如果知道了这个指针变量保存的值,就可以知道它所指向变量的内存地址,于是就可以间接访问到那一个变量。 定义:指针变量...

c语言怎么用键盘输入数组大小可借助指针#include<stdio.h> #include<malloc.h> void main() { int n; scanf("%d",&n);//输入数组大小 int *p=(int *)malloc(n*sizeof(int));//申请内存 for(int i=0;i<n;i++)//输入数组...

c语言指针变量怎么理解?怎么用指针变量是一个变量,它保存的是另一个变量的内存地址。你如果知道了这个指针变量保存的值,就可以知道它所指向变量的内存地址,于是就可以间接访问到那一个变量。 定义:指针变量...

c语言大数的加法用数组char指针实现做大数加法,首先要能保存大整数。C能提供的最大的整数类型也就是long long int了吧,还是有上限。用整数类型这条路不通。所以想到把大整数看作字符串(即char数组),一位数字就是数...

C语言函数指针的调用问题?函数指针怎么用有函数: int fun(int a,int b); 要定义指向该函数的指针 对比指向 int a; 的指针 int *p; p = &a; p的定义是怎么来的? 首先要保证p是一个指针类型 写下(*p), 然后,考虑下p的基类...

c语言中指向指针指针#include<stdio.h> #include<stdlib.h> #define M 3 #define N 3 void main() { void add(int **a,int **b,int **c,int rows,int cols); int i,j; int a[M][N],b[M][N],c[M...

c语言指针写九九乘法表#include<stdio.h> int main() { printf(" | 1 2 3 4 5 6 7 8 9 \n"); printf("------------------------------------------\n"); for(int i = 1; i < 10; i++) { printf(" %d |...

C语言指针写乘法表1)int ***num1,这个我没有看懂,有必要用到三维的数组吗, 2)int ***num = (int ***) malloc (9*sizeof(int)); 这个有问题, ***num可以看成是**num的一维数组,所以应该是(int ***) m...

C语言用静态指针数组a有三个元素 分别是 a[0].n = 5 a[0].next = &a[1] a[1].n=7 a[1].next = &a[2] a[2].9 a[2].next = '\0' 也即是NULL p=&a[0] A p++->n 先取值,也就是p->n 等效于a[0].n 值...