sizeof and strlen 简介

示例代码:

// sizeof_strlen.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

//by zhaocl
int main()
{
    //静态数组
    char fname[10] = "zhaocl";
    int a = strlen( fname );	//6
    int b = sizeof( fname );	//10
    cout << "a=" << a << " " << "b=" << b << endl;

    //指针
    char *lname = "zhaocl";
    int c = sizeof( lname );	//4		lname是第一个元素的指针地址
    int d = sizeof( *lname );	//1		*lname是第一个元素 'z'
    int f = strlen( lname );	//6		指针的话获取长度
    cout << "c=" << c << " " << "d=" << d << " " << "f=" << f << endl;
    system( "pause" );
    return 0;
}


说明:

1、sizeof是操作符,strlen是函数

2、strlen只能以'\0'结尾的char *做参数,sizeof可以是数组、类型、函数等等。

3、数组做sizeof参数时不退化,做strlen参数时退化为指针

4、指针做参数时sizeof不能获取数组大小,strlen可以


猜你喜欢

转载自blog.csdn.net/zhao3132453/article/details/80497201