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
请按任意键继续. . .

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

相关推荐
闭着眼睛学算法2 小时前
【华为OD机考正在更新】2025年双机位A卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】
java·c语言·javascript·c++·python·算法·华为od
麦麦在写代码3 小时前
动态内存管理 干货2
c语言
say_fall3 小时前
C语言底层学习(2.指针与数组的关系与应用)(超详细)
c语言·开发语言·学习
祐言QAQ4 小时前
(超详细,于25年更新版) VMware 虚拟机安装以及Linux系统—CentOS 7 部署教程
linux·运维·服务器·c语言·物联网·计算机网络·centos
Ziyoung4 小时前
【探究】C语言-类型转换问题
c语言
JasmineX-16 小时前
数据结构——静态链表(c语言笔记)
c语言·数据结构·链表
学不动CV了7 小时前
ARM单片机中断及中断优先级管理详解
c语言·arm开发·stm32·单片机·嵌入式硬件·51单片机
番茄大杀手8 小时前
C/C++柔性数组
c语言·柔性数组
冉佳驹9 小时前
C语言 ——— 操作符
c语言·操作符·隐式类型转换·原、反、补码·左移右移操作符·结构成员访问操作符·按位操作符
l1t9 小时前
测试duckdb的C插件模板的编译加工和加载
c语言·开发语言·数据库·插件·duckdb