char * argv[] ,string简析

Posted sanerer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了char * argv[] ,string简析相关的知识,希望对你有一定的参考价值。

char * a=“hello” ; a是一个char类型的指针,指向第一个字符‘h’。不解引用时,printf(“%s”,a)输入一串字符,解引用时输入一个字符。

而能把字符串赋值给指针时因为对于字符串常量,编译器都是默认按其大小分配内存存放字符串,并把地址首地址赋值指针变量。
如:
char *p="hello world";
其实编译的时候等于:
const char str[] = "hello world";
char *p = str;   // 数组的首地址。

char * argv[]; argv是一个字符指针的数组,数组的元素是地址(指针)。该指针指向一个字符串的第一个字符。

string 是一个容器,已经封装好的类。使用方便但是内存消耗大。






以上是关于char * argv[] ,string简析的主要内容,如果未能解决你的问题,请参考以下文章

用 std::vector<std::string> 替换命令行参数 int argc 和 char** argv

char *,char str[n], char **, char *argv[], char (*argv)区别。

使用 main(int argc,char *argv[]) 的问题

int main(int argc, char **argv)的一些解读

函数指针传递

char **argv 与char *argv[]