sizeof和strlen举例

代码:

// SizeofTest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "memory.h"
#include "stdlib.h"
#include "string.h"
typedef struct{
 int x;
 int data[100];
 double *pData;
}TestSTR,*pTestSTR;
int main(int argc, char* argv[])
{
    int a=12;
    printf("\nint a=12;sizeof(a)=%d\n",sizeof(a));
    int b[10]={0};
    printf("\nint b[10]={0};sizeof(b)=%d\n",sizeof(b));
    double *p;
    printf("\ndouble *p;sizeof(p)=%d\n",sizeof(p));
    p=new double[200];
    printf("\ndouble *p;p=new double[200];sizeof(p)=%d,sizeof(*p)=%d\n",sizeof(p),sizeof(*p));
    TestSTR varSTR;
    printf("\nstruct sizeof(TestSTR)=%d\n",sizeof(TestSTR));
    printf("\nTestSTR varSTR; sizeof(varSTR)=%d\n",sizeof(varSTR));
    varSTR.pData=new double[200];
    printf("\nTestSTR varSTR; sizeof(varSTR)=%d\n",sizeof(varSTR));
    printf("\nstruct point sizeof(pTestSTR)=%d\n",sizeof(pTestSTR));
    pTestSTR var_pTestSTR;
    var_pTestSTR=&varSTR;
    printf("\npTestSTR var_pTestSTR; sizeof(var_pTestSTR)=%d\n",sizeof(var_pTestSTR));
    printf("\npTestSTR var_pTestSTR; sizeof(*var_pTestSTR)=%d\n",sizeof(*var_pTestSTR));
    memset(varSTR.pData,0,200*sizeof(double));
    printf("\nTestSTR varSTR; sizeof(varSTR)=%d\n",sizeof(varSTR));
    printf("-----------------------------------------------------\n");
    char str[15]="nuptboyzhb";
    char *pChar;
    pChar=str;
    printf("\nstrlen(str)=%d,sizeof(str)=%d\n",strlen(str),sizeof(str));
    printf("\nstrlen(pChar)=%d,sizeof(pChar)=%d\n",strlen(pChar),sizeof(pChar));
    return 0;
}



运行结果:


int a=12;sizeof(a)=4

int b[10]={0};sizeof(b)=40

double *p;sizeof(p)=4

double *p;p=new double[200];sizeof(p)=4,sizeof(*p)=8

struct sizeof(TestSTR)=408

TestSTR varSTR; sizeof(varSTR)=408

TestSTR varSTR; sizeof(varSTR)=408

struct point sizeof(pTestSTR)=4

pTestSTR var_pTestSTR; sizeof(var_pTestSTR)=4

pTestSTR var_pTestSTR; sizeof(*var_pTestSTR)=408

TestSTR varSTR; sizeof(varSTR)=408
-----------------------------------------------------

strlen(str)=10,sizeof(str)=15

strlen(pChar)=10,sizeof(pChar)=4
Press any key to continue


你可能感兴趣的:(sizeof和strlen举例)