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 是一个容器,已经封装好的类。使用方便但是内存消耗大。

猜你喜欢

转载自www.cnblogs.com/sanerer/p/9233231.html