有一段代码如下: #include "stdio.h" void main(void){ class A {}; class B : virtual public A {}; class C: public A {}; class D: public B, public C {}; class E: virtual public B, virtual public C {}; printf("sizeof(A) = %d\n",sizeof(A)); printf("sizeof(B) = %d\n",sizeof(B)); printf("sizeof(C) = %d\n",sizeof(C)); printf("sizeof(D) = %d\n",sizeof(D)); printf("sizeof(E) = %d\n",sizeof(E)); } ...
#include
给定结构struct A { char t:4; char k:4; unsigned short i:8; unsigned long m; };问sizeof(A) = ?
$ cat t.c
#include
定义:
char str[20] = "hello world!";
char* str1 = "hello world";
为什么
sizeof(str) = 20;
sizeof(str1) = 4;
何故?
根据我昨天在另一个帖子里请教的:
vector
int su; char ch[] = "1234"; su = sizeof(ch); 定义一个数组是不确定, 可我面试官竟然这样说: " su >= 5; " 我当时愣了????? 我还是认为 su = 5; 希望大家来说一下!!!!
定义了结构体 typedef struct { char m[5]; char n[10]; }a_t; 请问在没有声明实体变量的前提下可以用sizeof求出结构体中每个域的大小么, sizeof(a_t)是对的但sizeof(a_t.m)就错了,请问有好方法么 (注明:在没有申明实体变量的前提下)