C语言有字符串这种数据类型吗? C语言里为什么不做一个字符串的数据类型?

C\u8bed\u8a00\u6709\u5b57\u7b26\u4e32\u8fd9\u79cd\u6570\u636e\u7c7b\u578b\u5417\uff1f

C\u8bed\u8a00\u6709\u5b57\u7b26\u4e32\u8fd9\u79cd\u6570\u636e\u7c7b\u578b\u3002
C/C++\u8bed\u8a00 \u7528 char \u6570\u7ec4 \u5b58\u653e \u5b57\u7b26\u4e32\u3002
\u4f8b\u5982:
char str[]="abcd 1234";char *ss = "1234 XYZ";printf("%s\n%s\n",str,ss);C++ \u6709 string \u7c7b \uff08class) , \u672f\u8bed \u201c\u7c7b\u201d \u4e0d\u662f \u672f\u8bed\u201c\u7c7b\u578b\u201d\u3002java \u5b66\u4e86 string \u7c7b\u3002\u4f8b\u5982 \uff1a
#include #include using namespace std;int main (){ string str1, str2, str3; str1 = "Test string: "; // c-string str2 = 'x'; // single character str3 = str1 + str2; // string cout << str3 << endl; return 0;}C/C++\u8fd8\u53ef\u4ee5\u81ea\u5df1\u5b9a\u4e49\u7c7b\u578b\uff0c\u4f8b\u5982\uff1a
#include typedef char Jv_str[100];main(){Jv_str s;printf("enter a string\n");gets(s);printf("the string is: %s\n",s);}

\u6211\u89c9\u7740 string\u7c7b\u578b\u5bf9\u9762\u76f8\u8fc7\u7a0b\u7684\u8bed\u8a00 \u6ca1\u5fc5\u8981\u5427\u3002
C\u662f\u9762\u76f8\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\u3002
\u9762\u76f8\u8fc7\u7a0b\u7a0b\u5e8f\u8bbe\u8ba1 \u601d\u8def\u91cc \u503c \u548c \u51fd\u6570\uff08C\u91cc\u53eb\u51fd\u6570\uff0c\u9762\u76f8\u5bf9\u8c61\u65f6\u7406\u89e3\u4e3a\u64cd\u4f5c\uff0cJava\u91cc\u4e60\u60ef\u53eb\u5b83 \u65b9\u6cd5\uff09\u662f \u5206\u79bb\u5f00\u7684\u3002
\u9762\u76f8\u5bf9\u8c61\u7a0b\u5e8f\u8bbe\u8ba1 \u601d\u8def\u91cc \u503c \u548c \u51fd\u6570\u662f \u7ec4\u5408\u8d77\u6765\u7684\u3002
string\u7c7b\u578b\u662f char[] \u548c \u4e00\u4e9b\u5b57\u7b26\u4e32\u51fd\u6570 \u7684 \u7ec4\u5408\u4f53\uff08\u503c\u548c\u65b9\u6cd5\u7684 \u5c01\u88c5\uff09\u3002
string\u7c7b\u578b\u8868\u793a\u7684 \u503c \u5c31\u662f char[]\uff0c\u6700\u9ad8\u957f\u5ea6\u662f \u4e24\u4e07\u591a\u3002
\u800c\u5728C\u91cc\uff0cchar[] \u5df2\u7ecf\u6709\u4e86\uff0c\u9488\u5bf9 char[] \u7684\u5b57\u7b26\u4e32\u65b9\u6cd5\uff08strlen strcmp strcat\uff09\u4e5f\u6709\u4e86\u3002
\u6ca1\u5fc5\u8981\u65b0\u505a\u4e00\u4e2a \u6570\u636e\u7c7b\u578b\u5427\uff0c\u800c\u4e14C\u4e5f\u6ca1\u6709\u628a\u503c\u548c\u64cd\u4f5c\u653e\u4e00\u8d77\u2014\u2014\u5c01\u88c5\u7684\u6982\u5ff5\u3002
\u5c01\u88c5\u662f \u9762\u76f8\u5bf9\u8c61\u8bed\u8a00\u91cc\u63d0\u51fa\u6765\u7684

C++\u91cc\uff1astring a = "abc", b = "def"; a.apend(d);
\u5f88\u5bb9\u6613\u770b\u51fa\u6765\uff0cappend \u8fd9\u4e2a\u51fd\u6570\u662f string \u7c7b\u578b\u7684\uff0c\u4e5f\u5c31\u662fa\u7684\uff0ca\u7684\u521d\u59cb'\u503c'\u5c31\u662f "abc"\u3002
C\u91cc\u5c31\uff1achar a[9] = "abc", b[] = "def"; strcat(a, b);
\u8fd9\u91cc\uff0cstrcat\u51fd\u6570\u5c31\u4e0d\u5c5e\u4e8e\u4efb\u4f55\u7c7b\u578b\uff0c\u53ea\u662f\u80fd\u5904\u7406 \u4e24\u4e2a char[] \u7c7b\u578b\u6570\u636e\u800c\u5df2\u3002
@renshijie1018 \u8bf4\u7684\u5bf9\u3002\u6211\u4e5f\u662f\u8fd9\u4e48\u4e2a\u610f\u601d\u3002

C语言有字符串这种数据类型。

  1. C/C++语言 用 char 数组 存放 字符串。

    例如: 

  2. char str[]="abcd 1234";
    char *ss = "1234 XYZ";
    printf("%s
    %s
    ",str,ss);
  3. C++ 有 string 类 (class) ,  术语 “类” 不是 术语“类型”。java 学了 string 类。例如 :

#include <iostream>
#include <string>
using namespace std;
int main ()
{
  string str1, str2, str3;
  str1 = "Test string: ";   // c-string
  str2 = 'x';               // single character
  str3 = str1 + str2;       // string
  cout << str3  << endl;
  return 0;
}

C/C++还可以自己定义类型,例如:

#include <stdio.h>
typedef char Jv_str[100];
main(){
Jv_str s;
printf("enter a string
");
gets(s);
printf("the string is: %s
",s);
}


JAVA 语言 是向 C/C++ 学习后 搞出来的一种语言,原说,不需变化就可用于一切平台,后来成了神话。
C/C++语言 用 char 数组 存放 字符串。
例如:
char str[]="abcd 1234";
char *ss = "1234 XYZ";
printf("%s\n%s\n",str,ss);

C++ 有 string 类 (class) , 术语 “类” 不是 术语“类型”。java 学了 string 类。
// 例如 string assigning
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string str1, str2, str3;
str1 = "Test string: "; // c-string
str2 = 'x'; // single character
str3 = str1 + str2; // string
cout << str3 << endl;
return 0;
}

C/C++还可以自己定义类型,例如:
#include <stdio.h>
typedef char Jv_str[100];
main(){
Jv_str s;
printf("enter a string\n");
gets(s);
printf("the string is: %s\n",s);
}
上面
typedef char Jv_str[100]; 定义了新类型Jv_str 。
Jv_str s; -- 变量声明,s 是 Jv_str 类型。等于声明了 char s[100];

C语言中的字符串使用字符数组或者字符型指针变量进行存储
可以:1.char str[20];
2.char *str;
这两种定义方式都可以,如果输入可以直接用scanf("%s",str);注意,字符数组名在输入时不用&了,不知道我的答案满意么?

C语言没有string类型也不存在string变量,不过C++和JAVA中有string类型

C语言没有,要用字符数组;不过C++有字符串类型。

  • C璇█涓瓧绗︿覆涓庡瓧绗︽湁浠涔堝尯鍒?
    绛旓細c璇█涓鐨瀛楃涓涓庡瓧绗﹂兘鏄袱绉鏁版嵁绫诲瀷锛屽瓧绗︿覆鏄敱瀛楃缁勬垚鐨勶紝涓よ呯殑鍖哄埆鏄瓧绗﹀彧鑳芥湁涓涓瓧姣嶏紝鑰屽瓧绗︿覆鍙互鏈夊ソ澶氫釜瀛楁瘝鎷兼垚銆
  • c璇█涓string鏄粈涔堟剰鎬(C璇█string鏄粈涔鏁版嵁绫诲瀷)
    绛旓細杩欐牱鐨璇濇妸String绫荤殑寮曠敤浼犻掔粰涓涓柟娉曪紝璇ユ柟娉曞String鐨勪换浣曟敼鍙,瀵瑰師寮曠敤鎸囧悜鐨勫璞℃病鏈変换浣曞奖鍝嶏紝杩欎竴鐐瑰拰鍩烘湰鏁版嵁绫诲瀷鐩镐技銆c璇█瀛楃涓琛ㄧず鏂规硶 1.C璇█涓瓧绗︿覆鐨勮〃绀烘柟寮忔湁涓ょ锛氬瓧绗︽寚閽堝拰瀛楃鏁扮粍 2.瀛楃鎸囬拡琛ㄧず瀛楃涓 浠庣紪璇戝櫒瑙掑害鍒嗘瀽锛氫緥濡傦細char*p="linux";p鏄瓧绗︽寚閽堬紝"linux"瀛楃...
  • C璇█涓,瀛楃涓插父閲忊渟tr1鈥濈殑绫诲瀷鏄瀛楃涓叉暟鎹被鍨 杩欏彞璇濅负浠涔堥敊_鐧...
    绛旓細鍦C璇█涓涓嶅瓨鍦瀛楃涓茶繖绉嶆暟鎹被鍨锛屽湪C璇█涓竴鑸氨鏄細閫氳繃char 瀹氫箟瀛楃鏁扮粍鏉ュ瓨鏀惧瓧绗︿覆銆
  • c璇█涓瓧绗︿覆鏄粈涔堜笢瑗
    绛旓細瀛楃涓锛氱敱鏁板瓧銆佸瓧姣嶃佷笅鍒掔嚎缁勬垚鐨勪竴涓插瓧绗锛屾槸缂栫▼璇█涓〃绀烘枃鏈殑鏁版嵁绫诲瀷锛C璇█锛氭槸涓闂ㄩ氱敤璁$畻鏈虹紪绋嬭瑷锛屽簲鐢ㄥ箍娉涳紝C璇█鐨勮璁$洰鏍囨槸鎻愪緵涓绉嶈兘浠ョ畝鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆佷骇鐢熷皯閲忕殑鏈哄櫒鐮佷互鍙婁笉闇瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑缂栫▼璇█銆
  • 瀛楃涓鏄粈涔绫诲瀷鐨鏁版嵁?
    绛旓細瀛楃涓鏄绠楁満缂栫▼涓殑涓绉嶅熀鏈鏁版嵁绫诲瀷锛屼篃琚О涓烘枃鏈被鍨嬫垨瀛楃搴忓垪绫诲瀷銆傚瓧绗︿覆閫氬父鍖呭惈浠绘剰鏁伴噺鐨勫瓧绗︼紝濡傚瓧姣嶃佹暟瀛椼佹爣鐐圭鍙枫佺┖鏍肩瓑锛屽苟浠ユ煇绉嶆柟寮忕紪鐮佷互琛ㄧず杩欎簺瀛楃鍦ㄨ绠楁満涓殑瀛樺偍鏂瑰紡銆傚瓧绗︿覆鍦ㄨ绠楁満缂栫▼涓骞挎硾浣跨敤锛屼緥濡傜敤浜庡瓨鍌ㄥ拰澶勭悊鏂囨湰鏁版嵁銆佹暟瀛楀拰鏃ユ湡绛変俊鎭傚湪澶у鏁扮紪绋璇█涓紝瀛楃...
  • c璇█瀹氫箟瀛楃绫诲瀷?
    绛旓細2銆佺涓叉垨涓(String)鏄敱闆朵釜鎴栧涓瓧绗︾粍鎴愮殑鏈夐檺搴忓垪銆備竴鑸涓簊=a1a2an(n=0)銆傚畠鏄紪绋嬭瑷涓〃绀烘枃鏈殑鏁版嵁绫诲瀷銆3銆={name锛宯umber}锛涘叾涓瘡涓瓧绗︿覆鐨勭粨灏鹃兘鏄痋0(涔熷氨鏄0鍊)鎹㈣█涔嬶紝绗竴涓猍]鏄嚑锛屽氨鍙互瑁呭嚑涓渶澶ч暱搴︿负绗簩涓猍]-1鐨勫瓧绗︿覆銆4銆c璇█涓娌鏈夊瓧绗︿覆锛屽彧鏈夊瓧绗...
  • c璇█涓湁鍝簺鏁版嵁绫诲瀷
    绛旓細C璇█涓鐨鏁版嵁绫诲瀷锛氫竴銆佸熀鏈暟鎹被鍨嬶細1. 鏁村瀷锛坕nt锛夛細鐢ㄤ簬瀛樺偍鏁存暟锛屽崰鎹竴瀹氬唴瀛樼┖闂淬2. 娴偣鍨嬶紙float/double锛夛細鐢ㄤ簬瀛樺偍甯︽湁灏忔暟鐐圭殑鏁板硷紝鍏朵腑float鏄崟绮惧害娴偣鏁帮紝double鏄弻绮惧害娴偣鏁般3. 瀛楃鍨嬶紙char锛夛細鐢ㄤ簬瀛樺偍鍗曚釜瀛楃銆備簩銆佹淳鐢熸暟鎹被鍨嬶細娲剧敓鏁版嵁绫诲瀷鏄粠鍩烘湰鏁版嵁绫诲瀷閫氳繃涓瀹氭柟寮忔淳鐢...
  • c璇█瀛楃涓鍜宩ava鐨勪竴鏍鍚?
    绛旓細c灏变唬琛╟[0]鐨勫湴鍧銆傝鏁扮粍c鐨勯鍦板潃涓0X2000锛屼篃灏辨槸璇碿[0]鍦板潃涓0X2000锛屽垯鏁扮粍鍚峜灏变唬琛ㄨ繖涓鍦板潃銆傚洜涓篶宸茬粡琛ㄧず鍦板潃锛屾墍浠ュ湪c鍓嶉潰涓嶈兘鍐嶅姞鍙栧湴鍧绗&銆瀛楃涓叉暟鎹被鍨鏄缓妯″湪褰㈠紡瀛楃涓茬殑鎯虫硶涓婄殑鏁版嵁绫诲瀷銆傚瓧绗︿覆鏄嚑涔庡湪鎵鏈夌紪绋璇█涓彲浠ュ疄鐜扮殑闈炲父閲嶈鍜屾湁鐢ㄧ殑鏁版嵁绫诲瀷銆
  • c璇█涓,鍗曞紩鍙风殑鏄瓧绗,鍙屽紩鍙风殑鏄瀛楃涓插悧?
    绛旓細2銆瀛楃涓涓昏鐢ㄤ簬缂栫▼锛屾蹇佃鏄庛佸嚱鏁拌В閲娿佺敤娉曡杩拌姝f枃锛岃繖閲岃ˉ鍏呬竴鐐癸細瀛楃涓插湪瀛樺偍涓婄被浼煎瓧绗︽暟缁勶紝鎵浠ュ畠姣忎竴浣嶇殑鍗曚釜鍏冪礌閮芥槸鍙互鎻愬彇鐨勩傚畠鏄紪绋璇█涓〃绀烘枃鏈殑鏁版嵁绫诲瀷銆傚湪绋嬪簭璁捐涓紝瀛楃涓诧紙string锛変负绗﹀彿鎴栨暟鍊肩殑涓涓繛缁簭鍒楋紝濡傜鍙蜂覆锛堜竴涓插瓧绗锛夋垨浜岃繘鍒舵暟瀛椾覆锛堜竴涓蹭簩杩涘埗鏁板瓧锛...
  • c璇█涓璫har鏄粈涔绫诲瀷?
    绛旓細char鏄绾冲崟瀛楃鐨勪竴绉嶅熀鏈鏁版嵁绫诲瀷锛屼笉鑳藉瓨鍌ㄦ眽瀛楋紝锛堜竴涓眽瀛楀崰2瀛楄妭锛夊瓨鍌瀛楃涓鐢╯tring锛屽叾瀹濻tring灏辨槸涓涓猚har鐨勬暟缁勶紝涓嶈繃瀹冨綋涓殑鍏冪礌澶氫竴涓榎0'鍦ㄦ暟缁勭殑鏈鍚庯紝琛ㄧず缁撴潫 渚嬪瀛楃涓瞐bcd char a[]={'a','b','c','d','\0'};鏄瓑浠风殑銆
  • 扩展阅读:c语言字符对照表 ... 字符串类型有哪些 ... c语言字符串类型输入 ... c语言四种类型 ... 字符串用什么数据类型 ... c语言所有数据类型 ... 字符型的数据类型包括 ... c语言允许的数据类型 ... c语言长字符串用什么类型 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网