关于指针数组、数组指针、指针函数、函数指针的归纳小结

指针数组:如int  *p[4]:表示一个一维数组内存放着三个指针变量, 分别是p[0]、p[1]、p[2]、p[3],默认情况下这三个指针变量都指向NULL的,所以要分别赋值。

数组指针:如int  (*p)[4]:表示定义一个数组指针,指向含4个元素       的一维数组。

指针函数:如int  *p():声明了一个函数p,返回值为一个int型的指针。

函数指针:如int  (*p)():函数指针实质是一个指针,该指针指向函数的入口地址

最好的判别方法就是看"*",括弧把"*"括起来了就是XX指针

时间: 2024-10-10 18:53:19

关于指针数组、数组指针、指针函数、函数指针的归纳小结的相关文章

数组、函数和指针

一.数组和指针 数组名同时也是该数组首元素的地址.例如:flizny == &flizny[0] , flizny 和 &flizny[0]都代表首元素的内存地址,两者都是常量: 指针+1的结果就是对该指针增加一个存储单元,对于数组而言,地址会增加到下一元素的地址,而不是下一个字节. 可以用以下等式表示: dates + 2 == &date[2] // 相同的地址 *(dates + 2) == dates[2] //相同的值 二.函数和指针 由于数组名就是数组首元素的地址,所以

指针 指针与数组 指针与字符串 指针与函数 结构体与指针 宏

指针 指针与数组 指针与字符串 指针与函数?? 指针与数组 1.数组名:数组元素首地址 eg: int array[3]={1,3,6}; 这里array 恒等于&array[0] 2.int *p = a; int *p = 0; int a[]={0}; 3.int *p = a; 均指向数组的首地址 *p是? *(p+1)是?(*p)+1是? *(p+1)决定向下移动几个字节是类型 4.指针可以当数组名使用 p[1] = 3; 恒等于a[1] ;恒等于*(p+1);恒等于*(a+1) 5.

c/c++ 函数、常量、指针和数组的关系梳理

压力才有动力,15年中旬就要准备实习,学习复习学习复习学习复习学习复习……无限循环中,好记性不如烂笔头……从数组开始,为主干. c 的array由一系列的类型相同的元素构成,数组声明包括数组元素个数和类型,c 中的数组参数是引用形式传参(传址调用),而常量标量是按值传递. //[]方括号表示声明的是数组,里面的数字表明了数组包含的元素数目 int states[50];//声明50个整数的数组 double code[365];//声明365个浮点数的数组 char chr[20];//声明20

指向函数的指针数组的用法

声明一个指向函数的指针数组,并通过指针调用函数. #include<stdio.h> void f1();//函数f1的声明 void f2();//函数f2的声明 void f3();//函数f3的声明 void main() { void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明 int flag; printf("请输入一个1,2或者3.输入0退出.\n"); scanf("%d",&flag); while(

指针数组,数组指针,指针函数,函数指针

1.指针数组:顾名思义,指针数组就是数组里面元素都是指针,代码如下: #include <stdio.h> int main(int argc, const char * argv[]) { // insert code here... //printf("Hello, World!\n"); int a=1,b=2;//先定义两个变量 int *p[]={&a,&b};//然后定义数组,数组元素都是指针 printf("%p\n",p[

四 指针与数组 五 函数

四 指针与数组 <一> 指针  就是地址 1 定义 int *p; 2 初始化 int a,*p=&a; 把a的地址给*p 指针变量有了谁的地址就是指向谁.则*p就代表了这个变量.*p代表 a 3 操作 int a ,*p=&a; *p=5;        <-----把5赋值给了a int *p,a; *p=[*&]a; | 抵消了 *p <=>a 等价 注意 : * 三个用途  1 乘法运算 2 取值运算符 3 说明符 定义时候用到 如 int a

C 函数、指针和数组

C中经常要写一个对数组进行操作的函数,下面介绍一下,数组.指针和函数的应用: 指针和数组: #include <stdio.h> #include <stdlib.h> int sum(int *ar,int n); int main() { int a[10]; int n=5,i; for(i=0;i<n;i++){ scanf("%d",&a[i]); } printf("%d",sum(a,n)); return 0;

c/c++ 函数指针 指针函数 数组的引用 指针数组 数组指针

1.指针数组数组指针 引用数组 数组的引用 int *a[10] 指针数组 每一个元素都是一个指针 Int (*a)[10] 数组指针 P指向一个含有10个元素的数组 Int (&a)[10] 数组的引用 a是一个数组的引用 Int& a[10] 引用函数 非法 数组的引用:1.在程序体中 int a[10]; Int (&p)[10]=a;//引用数组 2.作为参数 #include <iostream> #include <string> using n

【ThinkingInC++】18、指向函数的指针数组

/** * 功能:指向函数的指针数组 * 时间:2014年8月14日07:24:46 * 作者:cutter_point */ #include<iostream> #include<cstdlib> using namespace std; //这里N就是函数名,而DF(N)就代表了后面的N函数,N可以变 #define DF(N) void N() {cout<<"function "#N" is called"<<