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

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

相关推荐
Herbert_hwt2 分钟前
【C语言基础】常量、选择结构与运算符全解析
c语言·开发语言·算法
WWJA王文举12 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
qq_4480111614 小时前
C语言中的动态内存分配
c语言·开发语言·php
动词ing15 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
小雨笙笙16 小时前
C语言:变量三属性——存储类型
c语言·开发语言
Navigator_Z17 小时前
LeetCode //C - 1192. Critical Connections in a Network
c语言·算法·leetcode
布莱克60518 小时前
理解 C/C++ 中的 void* 指针
c语言·c++
(initial)18 小时前
C-05. Kernel Fusion 代价边界:少写回 vs 寄存器压力与 occupancy
c语言·开发语言·cuda
不正经学生20 小时前
C语言字符串函数进阶:安全版函数 + 错误处理 + 子串查找
c语言·开发语言·c++·算法·面试
不正经学生1 天前
C语言大小端字节序:内存里字节的排列顺序
c语言·开发语言·arm开发·c++·算法·c#