您的位置:

c语言汉字指针,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;

}