C语言 | 指针小结

C语言返回指针值的函数

在C语言中一个函数可以返回一个整型值、字符值、实型值等,也可以返回指针型的数据,即地址,其概念与以前类似,只是返回的值的类型是指针类型。

c 复制代码
一般形式

类型名 *函数名(参数列表);

C语言指针重点

首先要准确的弄清楚指针的含义,指针就是地址,凡是出现"指针"的地方,都可以用"地址"代替,变量的指针就是变量的地址,指针变量就是地址变量。

要区别指针和指针变量,指针变量的值是一个地址。

什么叫指向?

  • 地址就意味着指向,因为通过地址能找到具有该地址的对象。

要深入掌握在对数组的操作中正确地使用指针,搞清楚指针的指向。

指针变量可以用空值,即该指针变量不指向任何变量,可以这样表示:

c 复制代码
p=NULL;

其中NULL是一个符号常量,代表整数0,。在stdio.h头文件中对NULL进行了宏定义。

使用指针的优点

  • 提供程序的效率。

在调用函数时当指针指向的变量的值改变时,这些值能够为主调函数使用,即可以从函数调用得到多个可改变的值。

可以实现动态存储分配。

C语言使用指针做函数返回值

c 复制代码
#include <stdio.h>
#include <string.h>//为了使用求字符串长度strlen函数
char *strLength(char *str1, char *str2)//函数声明
int main()//主函数
{
    char str1[30],str2[30];//定义字符数组
    char *str; //定义字符指针变量
    printf("请输入两个字符串:\n");//提示语句
    gets(str1);//输入字符串str1
    gets(str2);//输入字符串str12
    str = strLength(str1, str2);//函数调用
    printf("较长的字符串是:%s\n", str);
    return 0;
}
char *strLength(char *str1, char *str2)//自定义求两个字符串较长的函数
{
  return strlen(str1)>strlen(str2)?str1:str2;
}

编译运行结果:

c 复制代码
请输入两个字符串:
xiaolin
love
较长的字符串是:xiaolin

--------------------------------
Process exited after 7.732 seconds with return value 0
请按任意键继续. . .

以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~

相关推荐
黑听人11 分钟前
【力扣 困难 C】329. 矩阵中的最长递增路径
c语言·leetcode
JeffersonZU2 小时前
Linux/Unix 套接字Socket编程(socket基本概念,流程,流式/数据报socket,Unix domain socket示例)
linux·c语言·tcp/ip·udp·unix·gnu
小小小新人121233 小时前
C语言 ATM (4)
c语言·开发语言·算法
无限远的弧光灯5 小时前
c语言学习_函数递归
c语言·开发语言·学习
黎明smaly7 小时前
【排序】插入排序
c语言·开发语言·数据结构·c++·算法·排序算法
LIN-JUN-WEI9 小时前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
艾莉丝努力练剑11 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
黑听人11 小时前
【力扣 困难 C】115. 不同的子序列
c语言·leetcode
看到我,请让我去学习17 小时前
OpenCV编程- (图像基础处理:噪声、滤波、直方图与边缘检测)
c语言·c++·人工智能·opencv·计算机视觉