指针
荻花题叶
这个作者很懒,什么都没留下…
展开
-
函数指针——指向函数的指针
转载自:函数指针函数指针——指向函数的指针一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是函数指针。函数指针的定义形式为:returnType (*pointerName)(...转载 2020-04-20 23:05:36 · 377 阅读 · 0 评论 -
二维数组指针
转载自:二维数组指针二维数组指针二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有“缝隙”。以下面的二维数组 a 为例:int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} };从概念上理解,a 的分布像一个矩阵:0 1 2 34 5 6 78 9 10...转载 2020-04-20 23:03:13 · 270 阅读 · 0 评论 -
指针数组
转载自:指针数组指针数组如果一个数组中的所有元素都是指针,那么我们就称它为指针数组。指针数组的定义形式一般为:dataType *arrayName[length];[ ]的优先级高于*,该定义形式应该理解为:dataType *(arrayName[length]);括号里面说明arrayName是一个数组,包含了length个元素,括号外面说明每个元素的类型为dataType *。...转载 2020-04-20 23:01:03 · 129 阅读 · 0 评论 -
二级指针——指向指针的指针
转载自:二级指针二级指针——指向指针的指针指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、double *、char * 等。如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。假设有一个 int 类型的变量 a,p1是指向 a 的指针变量,p2 又是指向 p1 的指针变量,它们的关系如下图所...转载 2020-04-20 22:59:55 · 1464 阅读 · 0 评论 -
指针作为函数返回值
转载自:指针作为函数返回值指针作为函数返回值C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个:#include <stdio.h>#include <string.h>char *strlong(char *str1, char *str2){ if...转载 2020-04-20 22:58:09 · 3710 阅读 · 0 评论 -
指针变量作为函数参数
转载自:指针变量作为函数参数指针变量作为函数参数在C语言中,函数的参数不仅可以是整数、小数、字符等具体的数据,还可以是指向它们的指针。用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。像数组、字符串、动态分配的内存等都是一系列数据的集合,没有办法通过一个参数全部传入函数内部,只能传递它们的指针,在函数内部通过...转载 2020-04-20 22:56:54 · 915 阅读 · 0 评论 -
字符串指针——指向字符串的指针
转载自:字符串指针字符串指针——指向字符串的指针C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在《C语言字符数组和字符串》中已经进行了详细讲解,这里不妨再来演示一下:#include <stdio.h>#include <string.h>int main(){ char str[] = "http://c.bianche...转载 2020-04-20 22:54:54 · 1348 阅读 · 0 评论 -
数组指针——指向数组对象的指针
转载自:数组指针数组指针——指向数组对象的指针数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element)。数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存。以int arr[] = { 99, 15, 100, 888, 252 };为例,该数组在内存中的分布如下图所示:定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向...转载 2020-04-20 22:52:49 · 4572 阅读 · 0 评论 -
指针变量的运算
转载至:指针变量的运算指针变量的运算指针变量保存的是地址,而地址本质上是一个整数,所以指针变量可以进行部分运算,例如加法、减法、比较等,请看下面的代码:#include <stdio.h>int main(){ int a = 10, *pa = &a, *paa = &a; double b = 99.9, *pb = &b...转载 2020-04-20 22:43:51 · 519 阅读 · 0 评论 -
C语言指针
转载自:C语言指针C语言指针1 指针简介计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节,char 占用 1 个字节。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。下图是 4G 内存中每个字节的编号(以十六进制表示):我们将内存中字节的编号称为地址(...转载 2020-04-20 22:39:15 · 170 阅读 · 0 评论