数组与指针,printf参数

  1. 数组名中存储的是数组首元素的地址,可以直接当做指针使用,但部分情况下有差别。

  2. printf("%p\n",param) param只能是一个地址,p参数表示直接打印地址,不进行解引用

  3. char *argv[] 表示argv是一个指针数组,每个元素存储的内容是一个地址。

  4. printf("%p\n",argv)打印argv的地址,也是首元素的地址。

  5. argv[0],表示对argv向右偏移0个数组元素大小的地址进行解引用,此时得到的是第0个元素存储的内容,即一个指针变量。

  6. printf("%s",argv[0]),表示打印argv[0]中存储的指针指向的内容,相当于&*argv[0]。

  7. argv+1 表示将argv向右移动一个元素长度的地址,*(argv+1)的作用相当于argv[1],结果是第1个元素中存储的内容。

你可能感兴趣的:(c,unix,数组,指针)