栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言sizeof问题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言sizeof问题

项目场景:

C语言学习中sizeof遇到的问题,对于char的数组和char *指针,得到的空间大小不同。数组和指向数组的指针得到的结果不同。


问题描述

在win64的环境下,对于str数组来说,得到的是3,指针指向该数组的时候,得到的是8。

#include 

int main(){
    char str[] = "\\";
    char *p = str;
    int n = 1000;

    printf("str:%d ",sizeof(str));
    printf("p:%d ",sizeof(p));
    printf("n:%d ",sizeof(n));
    return 0;
}

//输出
str:3 p:8 n:4 

原因分析:

指针类型的size对应不同初始化,数组类型等于其数组的总字节数,指针类型根据不同的系统初始化的大小也不同。
对于char,int等基本类型也是根据系统实现的不同。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832815.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号