指针(函数指针)

1.定义 

,数组名就是地址,类似函数名=地址 

2.如何定义一个函数指--跟普通变量一样

ag:

int a;
int *p;

char b;
char *p;


int GetData(int a,int b);
int (*p)(int a,int b);        //(正确写法)   int(*p)[4];  []优先级高于*所以用括号括起来表示他是指针变量
int* p(int a,int b);        //指针函数,p是一个函数,这个函数返回指针,返回结果是一个地址

3.使用函数指针--函数调用概念和变量一样  

1.直接访问:变量名(函数名)

2.间接访问:指针(函数指针)

 

定义一个指针函数,函数指针也讲究类型,要定义一个函数指针指向一个函数他的函数原型要长得一样 

补充:

#include <stdio.h>
char string [] = "Hello world!";
puts (string); // 输出字符串

#include <stdio.h>
char c;
for (c = 'A' ; c <= 'Z' ; c++) {
putchar (c); // // 输出单个字符
}

putch(); 非标准函数 putchar (c); 建议别用它

puts 是显示 字符串
putch 不是标准函数
putchar 是写入字符
getchar 是读入字符

补充:三目运算符


       三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

       对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。

int main()
{
	int a=3,b=3,c=1,k=4;
//	printf("%d\n",k>a?2: c<b?(--k):++k);  //2      k>a?2: (c<b?(--k):++k)
//	printf("%d\n",k);		      //4
	
	printf("%d\n",k<=a?2: c<b?(--k):++k); //3
	printf("%d\n",k);                     //3
	
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数指针指针函数是C语言中的两个概念。函数指针是指指向函数的指针变量,它存储了函数的入口地址,可以通过该指针变量调用函数或将其作为参数传递给其他函数。函数指针的声明形式为int (*fun)(int x, int y),其中的星号是属于函数名的。\[1\]\[2\] 指针函数则是指返回值为指针(即地址值)的函数。它的声明形式可以是int* fun(int x, int y)、int *fun(int x, int y)或int* fun(int x, int y)。指针函数和普通函数的区别在于返回值类型是指针。\[1\]\[3\] 总结来说,函数指针是指向函数的指针变量,可以用于调用函数或作为函数参数;而指针函数是返回值为指针的函数。它们在用法和声明形式上有所不同。 #### 引用[.reference_title] - *1* *3* [函数指针指针函数用法和区别](https://blog.csdn.net/luoyayun361/article/details/80428882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [指针函数和函数指针](https://blog.csdn.net/xc_123/article/details/115178826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值