单独使用:
char n;
时,只是声明了一个可以储存一个字符数组的变量,
但声明时在n后加下标[ x]//x为整型常量或变量//后,
char n[x];
//x为整型常量
则所下标值x就相当与声明了多少地址(可以向字符变量输入多少字符);
当在声明时可用
char n[x] = {"abc"};
或
来为字符数组赋值char n[x] = {'a','b','c','\0'};
(单引号里包含字符,双引号里包含字符串)
但字符数组不能直接用“="向其赋值字符串,将一个字符数组用=附在另一个字符数组上也是错误的
char n[x] = "abc"//错误// ............................................................
char n[x],m[y]; ... ... n = m;//错误//
要用
的方式一个一个将字符常量附在字符数组上char n[x] = 'a';
(可用循环结构赋值)*在声明字符数组时,如for(int i = 0;i < 10;i++) { n[i] = m[i] }
时,n为字符数组中第一个字符的地址char n[x];
在多维数组中,n后跟上总维数减一的下标可以表示n前面的下标所指定本行的初始地址
如二维数组
中,用char n[10][10];
就可以表示第5行的初始地址,可用此进行相关指针操作。n[5]
在使用指向字符的指针中,
char *m ; char n[10];
与其他类指针相同,用
可以将n的第一个字符的地址(初始地址)附给m。m = n
用
读取第(x+1)个字符*(m+x)
也可直接对字符指针赋值,不过此时是将字符串常量的地址附到指针中,
并且这些字符串常量并没有相应的字符变量。
char *m; m = "abc";
读取时,可直接用不过此时,m为初始地址,也就是说此时打印出的为aprintf("%c",*m);
想要把后面地址储存的常量打印出来,也可用
和循环来输出相应的的字符。printf("%c",*(m+x));//x为常量
这是我的第一篇文章,今天被字符给弄晕了,现在写写本人对字符变量相关的感悟,如有错误,请诸位指正。(我还是个新手
)
谢谢阅读!
怎么格式变成这个样子了,好绝望啊。。。。。。。。。。。