char数组的sizeof

    xiaoxiao2021-03-25  142

    char数组的sizeof

    在牛客网上做到一道题: 设有定义 char str[ ] =”Hello”; 则语句 printf(“%d %d”,sizeof(str),strlen(str)); 的输出结果是? 正确答案是6和5,后面一个不解释,题解是说sizeof会包括‘/0’的。于是我写了一份代码: #include<bits/stdc++.h> #include<stdio.h> using namespace std; int main(void) { char a[11]="hello"; char s[] = "hello"; cout<<sizeof(a)<<endl; cout<<sizeof(s)<<endl; } 得到的结果分别是11和6,也就是说对于固定大小的char数组,sizeof就不包括‘/0’,而是其固定分配的内存大小了。个人理解,如有错误,还望指教。
    转载请注明原文地址: https://ju.6miu.com/read-19482.html

    最新回复(0)