【C语言学习笔记】指针

阅读: 评论:0

【C语言学习笔记】指针

【C语言学习笔记】指针

今天看了学习指针的视频,记录一下。
int *p;
int a;
*p是取值,&a是取地址。

get新知识:
1)指向二维数组的指针,如指向int a[3][4] 的指针int (*p)[4],p指的是第0行第一个地址(注意是地址),(p+1)指的是第1行第一个地址,以此类推;

*( *(p+i)+j)表示第i行第j列的元素。

二维数组本质也是一维数组。每一行相当于一个元素。

2)指向函数的指针:
作用:可以作为另一个函数的参数调用。
声明:int (*p)();
例如:(函数的具体作用自己去实现)

int nax(int, int) ;
/*函数声明温*/
int min(int, int) ;
/*函数声明*/
int add(int, int) ;
了
/*函数声明 */
void process( int, int, int(*fun)() );int a, b;
printf("Endter a and b: ");
scanf("%d %d", &a, &b);
printf("max = ");
process(a, b, max);
printf("min = ");
process(a, b, min);
printf("sum = ");
process(a, b, sum);

3)指针返回函数

#include <stdio.h>double *search(double ( *pointer)[4], int n)
{
double *pt;
pt = *(pointer + n);
return pt;
}int main()
{
double score[][4] ={ {60.0,70.0, 80.5,90.5}, {56.0, 89.0, 67.0, 88.0}, {94.2, 78.5,90.3,88.6},{98.7,99.0,89.5,88.6}};
double *search(double(*pointer)[4], int n) ;
double *p;
int i, m;
printf("Please enter the nunber of student: ");
scanf("%d",&m) ;
printf("'The scores of No.%d are: n",m);
p = search(score, m) ;
for( i=0; i < 4; i++)
printf("%5.2ft", *(p + i));}

运行结果:(从0开始)

总结:

int i:定义整型变量i
int *p:p为指向整型数据的指针变量
int a[n]:定义整型数组a,它有n个元素
int *p[n]:定义指针数组p,它由n个指向整型数据的指针元素组成
int (*p)[n]:p为指向含n个元素的一维数组的指针变量
int f():f为带回整型函数值的函数
int *p():p为带回一个指针的函数,该指针指向整型数据
int (*p)():p为指向函数的指针,该函数返回一个整型值p是一个指针变量,它指向一个指向整型数据的指针变量。

本文发布于:2024-01-28 07:35:36,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063985405830.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:指针   学习笔记   语言
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23