C语言 sizeof 函数详情

目录
  • 一.sizeof 函数简介
  • 二.sizeof 函数实战

一.sizeof 函数简介

在 C 语言中,char 字符串也是一种非常重要的数据类型,我们除了使用 sizeof 函数获取字符串长度之外,使用 sizeof 函数同样也可以完成字符串长度的获取;

字符串:一般用一对双引号" "括起的一串字符来表示字符串常量,字符串默认以转义字符'\0'结尾,字符串常量是不可被修改的;

sizeof 函数会扫描整个字符串,直到碰到第一个字符串结束符 '\0'为止,然后返回计数器值(长度包含'\0');

/*
*描述:
*   [in] s:字符串
*
*返回值:返回字符串s的长度,注意返回的长度包括 \0
*/
int sizeof(char *s);

注意:sizeof 返回的长度是不包括'\0',所以在获取字符串长度的时候,strlen 函数返回值要比 少一个字节;

二.sizeof 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 sizeof 函数
//@Time:2021/06/02 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
void main()
{
    char p[] = "www.codersrc.com";
    printf("字符串:%s   长度:%d\n", p, sizeof(p));
    char p1[] = "www";
    printf("字符串:%s   长度:%d\n", p1, sizeof(p1));
    char p2[] = "0123456789";
    printf("字符串:%s   长度:%d\n", p2, sizeof(p2));
    system("pause");
}

输出:

字符串:www.codersrc.com   长度:17
字符串:www   长度:4
字符串:0123456789   长度:11
请按任意键继续. . .

到此这篇关于C语言 sizeof 函数详情的文章就介绍到这了,更多相关C语言 sizeof 函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言中sizeof()与strlen()函数的使用入门及对比

    sizeof()函数 1,是什么?     sizeof其实就是一个运算符,和那些+,-一样的东西,在程序编译的时候进行解析转换.虽然我们经常见到sizeof后面跟着个小括号,长得和函数差不多,但它和函数完全是两码事. 2,有什么用?     sizeof其实就是用于告诉我们编译器在为某一特定数据或者某种数据类型的数据在存储空间中开辟空间时,开辟的空间大小,以字节为单位. 3,怎么用?     sizeof(类型),或者sizeof(变量)都可以,得到的就是类型或者变量的存储空间.当对变量用的时

  • C语言中sizeof函数的基本使用总结

    前言 C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么.我以前也有用错的时候,现在写一写,也算是提醒一下自己吧. sizeof是什么 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等,sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类型名.这个操作数不好理解对吧?后面慢慢看就明白了.sizeof的返回值是size_t,在64位机器下,被定义为long unsigned int. sizeof函数的结果:

  • C语言 sizeof 函数详情

    目录 一.sizeof 函数简介 二.sizeof 函数实战 一.sizeof 函数简介 在 C 语言中,char 字符串也是一种非常重要的数据类型,我们除了使用 sizeof 函数获取字符串长度之外,使用 sizeof 函数同样也可以完成字符串长度的获取: 字符串:一般用一对双引号" "括起的一串字符来表示字符串常量,字符串默认以转义字符'\0'结尾,字符串常量是不可被修改的: sizeof 函数会扫描整个字符串,直到碰到第一个字符串结束符 '\0'为止,然后返回计数器值(长度包含'

  • C语言 sprintf 函数详情

    目录 一.sprintf 函数简介 二.sprintf 函数使用 三.sprintf/fprintf/printf 函数区别 一.sprintf 函数简介 sprintf 函数用于将格式化的数据写入字符串,其原型为: #include <stdio.h> /* *描述:将格式化的数据写入字符串 * *参数: * [out] str: 输出缓冲区,得到格式化之后的字符串; * [in] format: 格式化字符串,与 printf 函数一样; * *返回值:如果成功,则返回写入的字符总数,不包

  • C语言 main 函数详情

    目录 1.main() 2.void main() 3.int main(void) 4.int main () 5.int main(int argc,char *argv[]) 前言: 但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数.那么main函数一共有多少个版本呢? 1.main() 直接的mian()并没有返回值,没有入参.这种写法实际来说,部分编译器会显示警告,并且会返回默认值为i

  • 关于C语言strlen与sizeof区别详情

    目录 一.sizeof详解 1.sizeof()作用 2.sizeof 3.sizeof () 4.sizeof()与数组名的关系 5.sizeof()返回类型造成的坑 二.strlen详解 三.strlen与sizeof的区别 strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符).strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'

  • C语言sizeof与字符串处理与动态内存分配及main函数参数详解

    目录 常用的字符串处理函数(标准库里面的) sizeof 求字节运算符 动态内存分配函数 main的参数问题 常用的字符串处理函数(标准库里面的) strlen : 用来求一个字符串的长度 #include <string.h>                     size_t strlen(const char *s);                @s : 指向要计算的那个字符串的首地址                     “const char *” : 表示在函数调用过程中,

  • C语言文件操作详情(二)

    目录 前言 一.文件的顺序读写函数 fgetc和fputc fgets和fputs fscanf 和 fprintf 对比一组函数 fraed 和 fwriite 二.文件的随机读写函数 fseek 函数 三.关于文件结束的判定 总结 前言 接上一篇 C语言文件操作详情(一) 一.文件的顺序读写函数 fgetc和fputc fgetc字符输入函数 适用于所有输入流 fputc字符输出函数 适用于所有输出流 int fgetc( FILE *stream ); int fputc( int c,

  • C++ 引用与内联函数详情

    目录 引用初阶 什么是引用 为何要有引用 引用指向同一块空间 引用的特性 定义时必须初识化 一个变量可以多次引用 引用一旦引用了一个实例,不能在再引用其他的实例 引用进阶 常引用 权限 临时变量具有常属性 引用的场景 做参数 返回值 引用做返回值 引用不会开辟空间 引用和指针比较 内联函数 为何存在 内联函数 展开短小的函数 内联函数的特性 较大的函数编译器不会发生内联 声明定义一起 引用初阶 引用是C++的特性的之一,不过C++没有没有给引用特意出一个关键字,使用了操作符的重载.引用在C++中

  • C语言中函数指针的三种使用方法总结

     C语言中函数指针的三种使用方法总结 在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正.写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长. 定义方式:int (*p)(int x, int y); 实现代码: #include <stdio.h> int sum(int x, int y){ return x + y; } int reduce(int x, int y){ return x - y; } int

  • Linux 中C语言getcwd()函数的用法

    Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include<unistd.h> char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数size为buf的空间大小. 普通的用法会是这样: #define MAX_SIZE 255 char path(MAX_SIZE); getcwd(path,sizeof(path)); puts(path);

  • C语言中函数与指针的应用总结

    1. 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自动转换成指针的类型. 复制代码 代码如下: #include<stdio.h> void fun(){} int main(void){   printf("%p %p %p\n", &fun, fun, *fun);   return 0;} -------------------------------------------------------------

随机推荐