关于sizeof()和strncpy的一点小体会

作者:lxb

关于今天在论坛里请教sizeof()的问题,有以下收获:

(身边的强人都去参加博创比赛去了,只能到论坛里问了)

1、sizeof()不是函数,是运算符;

2、数组和指针数组的长度是不一样的:

   如果是char *m="liudehua";
   sizeof(m)==4

   如果是char m[120]="liudehua";
   sizeof(m)==120

3、既然知道了上面这两点,那么关于字符串赋值就没问题了

  char *m="liudehua";

  char  n[120];

  strncpy( n, m, sizeof(m));//错误赋值,得不到想要的,只能将"liud"赋给n;

  strncpy( n, m, 10);//赋值正确,可以将"liudehua"赋给n,但这样可能会浪费资源(暂时没有不知道有什么好方法可以解决这个问题)

你可能感兴趣的:(关于sizeof()和strncpy的一点小体会)