C语言-字符串

news/2024/11/15 8:41:40/

sizeof和strlen 的区别:

区别1:

        1.sizeof计算整个数组大小,

        2.strlen 计算有效的数组大小

新建字符数组”hello“

    char cdata[128]="hello";
    printf("sizeof--cdata的长度:%d\n",sizeof(cdata));
    printf("strlen--cdata的长度: %d\n",strlen(cdata));

输出结果:

sizeof--cdata的长度:128
strlen--cdata的长度: 5

 

区别2:

        1.指针 char *p2,sizeof计算指针的时候,得出的是多少字节来表示一个地址

        2.strlen计算的是指针指向字符串数组的长度   

新建指针字符数组

    int *p1;
    char *p2="hello";
    void (*pfunction)();//定义函数指针
    pfunction=functionTest;//保存地址

    puts("区别2:");
    //指针 char *p2,sizeof计算指针的时候,得出的是多少字节来表示一个地址
    printf("sizeof:p2 的长度:          %d\n",sizeof(p2));
    printf("sizeof:char * 的长度:      %d\n",sizeof(char *));
    printf("sizeof:int * 的长度:       %d\n",sizeof(int *));
    printf("sizeof:char 的长度:        %d\n",sizeof(char));
    printf("sizeof:functionTest 的长度:%d\n",sizeof(functionTest));//函数名长度
    printf("sizeof:pfunction 的长度:   %d\n",sizeof(pfunction));//指针
    //strlen计算的是指针指向字符串数组的长度    
    printf("strlen:p2 的长度:          %d\n",strlen(p2));

输出结果:

区别2:
sizeof:p2 的长度:          8
sizeof:char * 的长度:      8
sizeof:int * 的长度:       8
sizeof:char 的长度:        1
sizeof:functionTest 的长度:1
sizeof:pfunction 的长度:   8
strlen:p2 的长度:          5

代码实例:

#include<stdio.h>
#include<string.h>
/*c
*/
void functionTest()
{}
int main()
{char cdata[128]="hello";//区别1:puts("区别1:");printf("sizeof--cdata的长度:%d\n",sizeof(cdata));//计算整个数组大小printf("strlen--cdata的长度: %d\n",strlen(cdata));//计算有效的数组大小//区别2:int *p1;char *p2="hello";void (*pfunction)();//定义函数指针pfunction=functionTest;//保存地址//(*pfunction)();//调用puts("区别2:");//指针 char *p2,sizeof计算指针的时候,得出的是多少字节来表示一个地址printf("sizeof:p2 的长度:          %d\n",sizeof(p2));printf("sizeof:char * 的长度:      %d\n",sizeof(char *));printf("sizeof:int * 的长度:       %d\n",sizeof(int *));printf("sizeof:char 的长度:        %d\n",sizeof(char));printf("sizeof:functionTest 的长度:%d\n",sizeof(functionTest));//函数名长度printf("sizeof:pfunction 的长度:   %d\n",sizeof(pfunction));//指针//strlen计算的是指针指向字符串数组的长度	printf("strlen:p2 的长度:          %d\n",strlen(p2));return 0;
}

 结果输出:

 


http://www.ppmy.cn/news/49021.html

相关文章

shell编程入门 第一章 基本语法

shell编程的语法主要分为五个环节&#xff0c;分别是变量&#xff0c;字符串&#xff0c;运算符&#xff0c;流程控制&#xff0c;函数五大部分 shell编程的基础语法 一 变量1.1 shell变量名1.2 使用shell变量1.3只读变量1.4 删除变量 二 字符串2.1 定义时最好用双引号2.2获取字…

ANR分析

ANR分析流程 一、ANR基本知识 1.1、发生原因 一句话总结&#xff1a;没有在规定的时间内&#xff0c;干完要干的事情&#xff0c;就会发生ANR。 1.2、ANR分类 从发生的场景分类&#xff1a; Input事件超过5s没有被处理完 Service处理超时&#xff0c;前台20s&#xff…

那些突然想到的问题---EIP和PC的区别

我们都知道PC指针是指程序计数器&#xff08;Program Counter&#xff09;&#xff0c;也称为指令指针&#xff08;Instruction Pointer&#xff09;&#xff0c;是一种寄存器&#xff0c;用于存储计算机正在执行的指令的地址。在CPU执行程序时&#xff0c;PC指针会不断地更新&…

9.7 字符串的指针和指向字符串的指针变量

9.7 字符串的指针和指向字符串的指针变量 一.字符串表示形式二.字符串指针做函数参数1.数组名做函数参数2.数组指针做函数参数 三.字符指针变量与字符数组&#xff08;1&#xff09;字符数组是由若干个元素组成&#xff0c;每个元素中存放一个字符。&#xff08;2&#xff09;赋…

Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能&#xff0c;这些优势使得Python在气象、海洋、地理、气候、水文和生态等地学领域的科研和工程项目中得到广泛应用。可以…

Activity启动模式总结

前言 相关文章其实很多了。通过对阅读调试相关源码后&#xff0c;我认为还是有必要按自己的理解梳理总结输出。 核心源码在com.android.server.wm.ActivityStarter#startActivityInner 启动方式详解 Standard 默认模式&#xff0c;会直接在打开的Task上创建。不管taskAffi…

使用PCL滤波器实现点云裁剪

主要目的就是根据已知的ROI区域&#xff0c;对点云进行裁剪。要么留下点云ROI区域&#xff0c;要么去除。 ROI区域一般都是一个矩形&#xff0c;即&#xff08;x&#xff0c;y&#xff0c;width&#xff0c;height&#xff09;。 那么封装的函数形式一般如下&#xff1a; pcl:…

有始有终的编码原则

基本情况 在程序员的修炼之道之中&#xff0c;说到&#xff1a; 这个建议能简单地应用到大多数场合。简单说就是&#xff0c;分配资源的函 数或对象&#xff0c;对释放资源应负有责任。 这其实就是我们常说的谁分配的就谁负责释放&#xff0c;这也是内存释放的一个原则&#x…