蓝布编程网

分享编程技术文章,编程语言教程与实战经验

C语言中字符串与指针的详细使用

指针变量与其指向内存的关系

指针变量也是一种变量,占有内存空间,用来保存内存地址测试指针变量占有内存空间大小。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>


int main0101()
{
    char* p = NULL;
    char buf[] = "abcde";

    printf("p1=%d\n", p);
    //改变指针变量的值
    p = buf;
    printf("p2=%d\n", p);

    //指针变量和它指向的内存块是两个不同的概念
    p = p + 1;//改变指针变量的值,即改变了指针的指向
    printf("p3=%d\n", p);
    printf("buf=%s\n", buf);

    printf("*p=%c\n", *p);//b

    printf(" 改变指针指向的内存,并不会改变指针的值\n");
    buf[1] = '1';
    printf("p4=%d\n", p);
    printf("buf2=%s\n", buf);
  
    *p = 'm';
    printf("p5=%d\n", p);
    printf("buf3=%s\n", buf);
    //写内存时,一定要确保内存可写
    //char* buf2 = "aaawwweee";//该字符串在文字常量区 不可修改
    //buf2[2] = '1';//err
    char buf3[] = "wwweerrr";
    buf3[1] = 's';//ok
    //不允许向NULL和未知非法地址拷贝内存。
    char* p3 = NULL;//err
    //char* p3 = 0x1111;//err
    //给p3指向的内存中拷贝字符串
    p3 = buf3;//ok
    strcpy(p3, "123");
    return 0;
}

CPU眼里的:引用

C语言基础知识:指针和数组的区别是什么?

在C语言教程中我们使用通过数组名通过偏移和指针偏移都可以遍历数组,那么指针和数组到底有什么区别??


C语言指针,数组名作为函数参数,自动转换指针吗?linux C第49讲

数组名作为参数转为指针

当数组名作为参数传递的时候,需要一起传递数组的长度。因为,数组名作为参数传递之后,转换为指针。此时,通过sizeof关键字无法获取数组的长度,那么,在操作数据的时候,无法正确判断数组的长度,容易产生数组越界。

程序测试例子如下:

程序运行结果如下:

C语言快速入门手册10.函数指针

10.1.示例代码

先来看一个例子。

我们看到上面的calc函数可以接受一个函数指针作为参数,在调用calc函数时,可以指定一个函数传递给它,然后calc就可以通过这个函数指针来调用这个函数。编译运行程序。

这样做的好处是可以重复利用calc这部分代码,函数指针还有一个应用例子是回调,这是一个在操作系统内核以及驱动里大杀四方的功能。回调的应用场景类似于函数库,在一个类似calc的函数里面接受函数指针,并且可以回调客户程序(我们的应用相当于是函数库的客户)的函数。函数库里的函数实现一般非源码可见,也不允许修改(即使可能也最好不要修改),通过这样的方式就可以实现定制的流程。以后会提供一个数据库查询的回到应用。

C++函数指针

1、使用函数指针实现两个数相加/相乘

int sum(int a, int b)
{
	return a + b;
}

int pro(int a, int b)
{
	return a * b;
}

// 函数指针
int call_func(int(*pfunc)(int, int), int a, int b)
{
	return pfunc(a, b);
}

C语言函数指针与回调机制:多态、事件驱动与插件式开发

前言

函数指针和回调机制是C语言实现灵活架构和高扩展性的核心手段。无论是多态、事件驱动,还是插件机制,背后都离不开函数指针的巧妙运用。本文将系统讲解函数指针与回调机制的原理、用法及其在实际开发中的高级应用,助你成为C语言高手。

一文就可轻松搞清楚C语言的函数

程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!


1. 函数:C语言模块化编程的核心

C编程——函数指针

函数指针的定义:

函数指针是指向函数的指针变量。它可以存储指向函数的地址,使得我们可以在程序运行时动态地调用函数。

函数指针的定义格式为:返回值类型 (*指针变量名)(参数列表);

知识分享:C语言知识干货系列——指针篇

谈到指针,我们可能会想到钟表上的指针,但这里的指针不是现实生活中看得见摸得着的钟表上的指针,c 语言中的指针只存在于逻辑思维中,物理上并不存在。

同时,指针也是C 语言中最精华的部分,通过灵活地运用指针,可以写出独具匠心、构思巧妙的程序。

<< 1 2 3 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言