从头开始学C语言:char* 和 char []

想要把丢掉的东西捡起来,还是很辛苦啊,今天我就发现,我连char* 和 char []的区别都不知道。

  1. #include <stdio.h>
  2.  
  3. int main(int argc, char* argv[]) {
  4.     char* buf1   = "this is a test";
  5.     char  buf2[] = "this is a test";
  6.     printf("size of buf1: %d\n", sizeof(buf1));
  7.     printf("size of buf2: %d\n", sizeof(buf2));
  8.     return 0;
  9. }

结果是:

  1. $ > ./main
  2. size of buf1: 4
  3. size of buf2: 15