本文目录一览:
- 1、C语言里怎么在数组里定义汉字变量 和指针指向汉字数组?
- 2、C语言字符指针怎么输入?谢谢
- 3、C语言无法用指针保存中文字符串吗?
- 4、C语言里怎么在数组里定义汉字变量 和指针指向汉字数组?
- 5、c语言,请大神赐教,汉字字符串数组赋值指针数组后的如何输出单个汉字?
C语言里怎么在数组里定义汉字变量 和指针指向汉字数组?
可以用unicode;
Unicode是一种所有的字符都使用两个字节编码的编码模式。Unicode字符有时也被称作宽字符,因为它比单子节字符宽(使用了更多的存储空间)。注意,Unicode不能被看作MBCS。MBCS的独特之处在于它的字符使用不同长度的字节编码。Unicode
字符串使用两个字节表示的0作为它的结束标志。
#include
string.h
wchar_t
*table
=
{L"成功"};
wchar_t
tc;
tc
=
table[0];
C语言字符指针怎么输入?谢谢
例:
#include"stdio.h"
#include"stdlib.h"
main()
{
char*p[10],*temp;
inti,j,k;
for(i=0;i10;i++)
{
p[i]=(char*)malloc(sizeof(char)*50);//开辟内存
}
for(i=0;i10;i++)
{
printf("输入第%d本书的书名\n",i+1);
gets(p[i]);
}
for(i=0;i10;i++)
{
printf("%s\n",p[i]);
}
}
扩展资料
C语言字符数组和字符串的使用
用来存放字符的数组称为字符数组,例如:
char c[10];
字符数组也可以是二维或多维数组。例如:
char c[5][10];
字符数组也允许在定义时进行初始化,例如:
char c[10]={'c', ' ', 'p', 'r','o', 'g', 'r', 'a','m'}; // c[9]未赋值,所以为默认值’\0’
当对全体元素赋初值时也可以省去长度说明。例如:
char c[]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm' };
这时c数组的长度自动定为9。
字符数组和普通数组一样,也是通过下标引用各个元素。
C语言无法用指针保存中文字符串吗?
这不是绝对的:当指针指向的字符串是常字符串时当然不能再赋值,因为目标是“常量”,而当指针指向的字符串不是常字符串时就可以再赋值,比如用动态申请内存方法创建的字符串。具体说就是用char *p="abcqer12345";这种方法定义字符串是不能通过指针改变内容的,原因是这个定义确定了abcqer12345是字符串常量——因为char *p="abcqer12345";被编译器解释为“创建一个字符串常量abcqer12345,并把它的首地址(就是a的地址)赋给char *型指针p”——既然是“常量”,自然就不能更改。
C语言里怎么在数组里定义汉字变量 和指针指向汉字数组?
1、在C语言中,可以通过将汉字作为字符串输入。
由于一个汉字占2个字节,所以对汉字的操作,只能以2个字节作为操作单位。
2、下面通过具体实例来说明汉字在C语言中的使用:
char s[] = "首都北京"; // 将汉字字符赋值给字符数组
char s2[20]; // 定义字符数组,存放用户输入的汉字
scanf("%s", s2); // 接收用户输入的汉字字符
printf("%d\n", sizeof(s)); // 计算字符数组s所占的内存单元,输出9(最后一个字节是结束字符'\0')
printf("%s\n", s[2]); // 输出“都北京”(首字占2个字节)
printf("%s\n", s2); // 输出用户输入的汉字
c语言,请大神赐教,汉字字符串数组赋值指针数组后的如何输出单个汉字?
中文就是用两个字节表示一个汉字。方法不止一种:
#includestdio.h
#includestring.h
int main()
{
char str[]="如何控制指针数组";
int i,j,len=strlen(str);
char words[len/2][3];
for(i=0,j=0;ilen;i+=2,j++)
{
words[j][0]=str[i];
words[j][1]=str[i+1];
words[j][2]=0;
}
printf("输出单个汉字,2个字符为一个汉字:\n");
for(i=0;ilen/2;i++)
printf("%s\n",words[i]);
return 0;
}