标签:void 存储 main 分享图片 就会 错误 初始 等价 oid
char a[3][25]= {"XUANXIU YUWEN ", "XUANXIU YUWEN", "FEIXUANXIU TIYU"};就行了 定义成二维数组存储时可以简单看作一排一个字符串数组, char* a[10] = {"XUANXIU", "YUWEN", "XUANXIU", "SHUXUE", "FEIXUANXIU", "TIYU"};这样是定义了一个指针数组 指针元素分别指向每一个对应的字符串存储的首地址
char * c="hello";//等价于char * c; c="hello",这里比较特殊.字符串直接使用代表字符串首地址。 C/C++只可以用指针取字符串常量的地址,该类被认为是左值,而其他的字面值常量(literal constant),则被认为是右值,不允许取地址。 而对于int类型,你可以这样改就能用指针了: int a=2; int*p=&a;
char str[] = "I love China"; printf("%s\n", str);//输出完整字符串 printf("%s\n", str + 2);//只输出love China,规定了起点。
类中也有这样的情况
class A { public: A(int i, char *p) :ival(i), ptr(p) {}; int ival; char *ptr; }; void main() { A a(9, "hello"); cout << a.ival << a.ptr << endl;//这里a.ptr输出hello,即字符指针能直接输出它所指向的字符串。 system("pause"); }
int a = 1;//指针指向变量单元,不能指向int常量,所以要有a来存储. int *p = &a;//等价于int *p; p = &a;但绝不可以写作:int *p; *p = a;//这样出错,p需要p = &a这样的初始化。 *p = 2;//因为有之前的初始化,才可以这样做.
int *p = NULL; *p = 2;
标签:void 存储 main 分享图片 就会 错误 初始 等价 oid
原文地址:https://www.cnblogs.com/Stephen-Qin/p/9343268.html