int main(int argc, char *argv[]) {
  const char *const p = *argv; /* 1 */
  const char *const *const pp = argv; /* 2 */
  return 0;
}

1 で警告が出ず、2 で警告が出るのは何故ですか?
initialization from incompatible pointer type と怒られてしまうのですが。