在c语言中,在结构体中有个数组,里面有一定的字符,怎么把数组变为空,然后再输入呢? C语言,结构体中的数组怎么赋值,?

C\u8bed\u8a00 \u4e2d\u600e\u4e48\u628a\u4e00\u4e2a\u6570\u7ec4\u7f6e\u7a7a

\u9700\u8981\u51c6\u5907\u7684\u6750\u6599\u5206\u522b\u6709\uff1a\u7535\u8111\u3001C\u8bed\u8a00\u7f16\u8bd1\u5668\u3002
1\u3001\u9996\u5148\uff0c\u6253\u5f00C\u8bed\u8a00\u7f16\u8bd1\u5668\uff0c\u65b0\u5efa\u4e00\u4e2a\u521d\u59cb.cpp\u6587\u4ef6\uff0c\u4f8b\u5982\uff1atest.cpp\u3002

2\u3001\u5728test.cpp\u6587\u4ef6\u4e2d\uff0c\u8f93\u5165C\u8bed\u8a00\u4ee3\u7801\uff1a\u3002
int a[3] = {1, 2, 3};
memset(a, 0, sizeof(a));
printf("%d%d%d", a[0], a[1], a[2]);

3\u3001\u7f16\u8bd1\u5668\u8fd0\u884ctest.cpp\u6587\u4ef6\uff0c\u6b64\u65f6\u6210\u529f\u901a\u8fc7memset\u51fd\u6570\u5c06\u6570\u7ec4\u5143\u7d20\u5168\u90e8\u7f6e\u7a7a\u4e86\u3002

intmain(void){
structstudentsbao={};
printf("%d,%s\n",bao.id,bao.name);//\u8f93\u51fa\u662f4224528\uff0c\u7a7a(\u5e94\u8be5\u662fnull)
//structstudentsbao={3,"123"};\u53ef\u4ee5\u3002\u7b2c\u4e00\u79cd\u8d4b\u503c\u65b9\u6cd5
//strcpy(bao.name,"bao");//\u53ef\u4ee5\uff0c
//printf("%d,%s\n",bao.id,bao.name);
//bao.name="bao";\u9519\u8bef\u201cstray'\351'inprogram\u201d\u5176\u4ed6\u662f\u4e71\u7801\uff0c
//bao.name[0]='a';
//bao.name[0]='/0';
//printf("%d,%s\n",bao.id,bao.name);
/*\u8fd9\u6837\u53ef\u4ee5\uff0c*/
//chararr[10]="baobao";
////bao.name=arr;//error"assignmenttoexpressionwitharraytype"
//scanf("%s",bao.name);//\u53ef\u4ee5,
//printf("%d,%s\n",bao.id,bao.name);
//\u6240\u4ee5scanf\u90a3\u4e00\u7c7b\u51fd\u6570\u90fd\u53ef\u4ee5\u3002
//\u8fd8\u6709\u5c31\u662fmemcpy\u51fd\u6570\u4e5f\u662f\u53ef\u4ee5
return0;}

\u6269\u5c55\u8d44\u6599\uff1a
\u9009\u62e9\u7ed3\u6784\uff1a
\u987a\u5e8f\u7ed3\u6784\u7684\u7a0b\u5e8f\u867d\u7136\u80fd\u89e3\u51b3\u8ba1\u7b97\u3001\u8f93\u51fa\u7b49\u95ee\u9898\uff0c\u4f46\u4e0d\u80fd\u505a\u5224\u65ad\u518d\u9009\u62e9\u3002\u5bf9\u4e8e\u8981\u5148\u505a\u5224\u65ad\u518d\u9009\u62e9\u7684\u95ee\u9898\u5c31\u8981\u4f7f\u7528\u9009\u62e9\u7ed3\u6784\u3002\u9009\u62e9\u7ed3\u6784\u7684\u6267\u884c\u662f\u4f9d\u636e\u4e00\u5b9a\u7684\u6761\u4ef6\u9009\u62e9\u6267\u884c\u8def\u5f84\uff0c\u800c\u4e0d\u662f\u4e25\u683c\u6309\u7167\u8bed\u53e5\u51fa\u73b0\u7684\u7269\u7406\u987a\u5e8f\u3002
\u9009\u62e9\u7ed3\u6784\u7684\u7a0b\u5e8f\u8bbe\u8ba1\u65b9\u6cd5\u7684\u5173\u952e\u5728\u4e8e\u6784\u9020\u5408\u9002\u7684\u5206\u652f\u6761\u4ef6\u548c\u5206\u6790\u7a0b\u5e8f\u6d41\u7a0b\uff0c\u6839\u636e\u4e0d\u540c\u7684\u7a0b\u5e8f\u6d41\u7a0b\u9009\u62e9\u9002\u5f53\u7684\u9009\u62e9\u8bed\u53e5\u3002\u9009\u62e9\u7ed3\u6784\u9002\u5408\u4e8e\u5e26\u6709\u903b\u8f91\u6216\u5173\u7cfb\u6bd4\u8f83\u7b49\u6761\u4ef6\u5224\u65ad\u7684\u8ba1\u7b97\uff0c\u8bbe\u8ba1\u8fd9\u7c7b\u7a0b\u5e8f\u65f6\u5f80\u5f80\u90fd\u8981\u5148\u7ed8\u5236\u5176\u7a0b\u5e8f\u6d41\u7a0b\u56fe\uff0c\u7136\u540e\u6839\u636e\u7a0b\u5e8f\u6d41\u7a0b\u5199\u51fa\u6e90\u7a0b\u5e8f\u3002
\u8fd9\u6837\u505a\u628a\u7a0b\u5e8f\u8bbe\u8ba1\u5206\u6790\u4e0e\u8bed\u8a00\u5206\u5f00\uff0c\u4f7f\u5f97\u95ee\u9898\u7b80\u5355\u5316\uff0c\u6613\u4e8e\u7406\u89e3\u3002\u7a0b\u5e8f\u6d41\u7a0b\u56fe\u662f\u6839\u636e\u89e3\u9898\u5206\u6790\u6240\u7ed8\u5236\u7684\u7a0b\u5e8f\u6267\u884c\u6d41\u7a0b\u56fe\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-c\u8bed\u8a00



给结构里面写个clear函数,然后clear里面把数组值给设置成默认的值就好了。数组定义的时候,就已经分配内存了。在程序结束的时候,需要把内存释放掉,调用delete []就可以了。

可以在定义时赋初值
例:
struct ex
{
a[10];
b[10];
}

struct ex am={"",""}

或者直接给结构体赋值(注意,这里要使用字符串复制函数)
strcpy(am.a,"");
strcpy(am.b,"");

memset(stu.a[],0,sizeof(stu.a));//置空

  • C璇█涓,缁撴瀯浣撴暟缁涓殑鎴愬憳鏄瓧绗︽暟缁,鍏跺悇鍏冪礌鎬庝箞寮曠敤?
    绛旓細鍏堜互鏁扮粍鍚嶅姞涓嬫爣锛岃闂搴旂殑缁撴瀯浣鍙橀噺銆傜劧鍚庡啀浠.鎴愬憳鍚嶇殑鏂瑰紡锛岃闂暟缁勫悕銆傛渶缁堜互鏁扮粍鍚嶅姞涓嬫爣鐨勬柟寮忥紝璁块棶鍏蜂綋鐨勬暟缁勫厓绱犮傛瘮濡 struct test { char a[100];};鍦ㄥ畾涔 struct test t[20];鐨勬儏鍐典笅锛岃闂畉鐨勭i涓厓绱犱腑锛宎鐨勭j涓瓧绗︾殑浠g爜锛屽彲浠ュ啓浣 t[i].a[j]...
  • 绠鍗曠殑缂栫▼闂,c璇█涓,鎴戝畾涔変簡涓涓粨鏋勪綋鏁扮粍,浣缁撴瀯浣撲腑鐨勫悇涓厓绱...
    绛旓細2.浣犵‘瀹氭槸缁撴瀯浣撴暟缁勮屼笉鏄摼琛ㄥ鍚э紝閭d箞閬嶅巻杩欎釜鏁扮粍涓庢暟缁勪腑鐩稿簲鍏冪礌锛堢粨鏋勪綋锛変腑鐨勫搴旀煡璇㈡暟鎹瘮瀵瑰嵆鍙紝鎵撳埌鍚庢墦鍗拌鍏冪礌鍐呮墍鏈夋暟鎹 3.鍒犻櫎鍙互鍦ㄧ粨鏋勪綋涓璁剧疆涓涓鍏冪礌鏄惁琚垹闄ょ殑鏍囪嚧锛屽垵濮嬩负鏈垹闄わ紝鍒犻櫎鏃舵爣璁颁负鍒犻櫎鍗冲彲锛岀敱浜庢槸鏁扮粍锛鍒犻櫎鏁扮粍涓厓绱犻渶瑕佸皢鍒犻櫎鍏冪礌涔嬪悗鐨勬墍鏈夊厓绱犲悜鍓嶇Щ鍔ㄤ竴...
  • 绠鍗曠殑缂栫▼闂,c璇█涓,鎴戝畾涔変簡涓涓粨鏋勪綋鏁扮粍,浣缁撴瀯浣撲腑鐨勫悇涓厓绱...
    绛旓細2.浣犵‘瀹氭槸缁撴瀯浣撴暟缁勮屼笉鏄摼琛ㄥ鍚э紝閭d箞閬嶅巻杩欎釜鏁扮粍涓庢暟缁勪腑鐩稿簲鍏冪礌锛堢粨鏋勪綋锛変腑鐨勫搴旀煡璇㈡暟鎹瘮瀵瑰嵆鍙紝鎵撳埌鍚庢墦鍗拌鍏冪礌鍐呮墍鏈夋暟鎹 3.鍒犻櫎鍙互鍦ㄧ粨鏋勪綋涓璁剧疆涓涓鍏冪礌鏄惁琚垹闄ょ殑鏍囪嚧锛屽垵濮嬩负鏈垹闄わ紝鍒犻櫎鏃舵爣璁颁负鍒犻櫎鍗冲彲锛岀敱浜庢槸鏁扮粍锛鍒犻櫎鏁扮粍涓厓绱犻渶瑕佸皢鍒犻櫎鍏冪礌涔嬪悗鐨勬墍鏈夊厓绱犲悜鍓嶇Щ鍔ㄤ竴...
  • 璇烽棶涓涓:鍦╟璇█涓粨鏋勪綋鏁扮粍鐨勬渶澶ч暱搴︽槸澶氬皯?
    绛旓細閾捐〃涓嶆槸鏇村ソ鐨勮В鍐虫柟娉曞悧锛熷鏋滆繖鏍峰畾涔夊氨瑕佺湅浣嶇疆浜嗭紝鍏ㄥ眬鍙橀噺鍒嗛厤鐨勮嚜宸辩殑鍖哄煙鍐咃紝灞閮ㄥ彉閲忓垎閰嶅湪鏍堜笂锛屾爤鐨勫ぇ灏忔槸鏈夐檺鍒剁殑銆傚敖鏁翠簺鏃犺亰鐨勶紝瀵圭紪绋嬭兘鍔涙病浠涔堟彁楂樼殑銆
  • C璇█姹傚ぇ绁炶В鍐,鍦ㄧ粨鏋勪綋涓閫犱釜鍔ㄦ佹诞鐐瑰瀷鏁扮粍,鎬庝箞鍐欎唬鐮佸憿
    绛旓細include "stdio.h"#include"malloc.h"struct float_1{ float* p;};void main(){int len;scanf("%d",&len);struct float_1 *th=(struct float_1 *)malloc(sizeof(struct float_1));//<---th->p=(float *)malloc(sizeof(float)*len); } ...
  • C璇█typedef瀹氫箟缁撴瀯浣撴暟缁,涓嬮潰杩欐浠g爜鏄粈涔堟剰鎬?
    绛旓細鍚箟鏄細瀹氫箟涓涓被鍨嬪埆鍚峚djlist锛岃繖涓被鍨嬫槸涓涓缁撴瀯浣绫诲瀷涓哄厓绱犵被鍨嬬殑闀垮害涓篤num鐨鏁扮粍锛岃繖涓粨鏋勪綋绫诲瀷鐨勫厓绱犳槸int vertex鍜宎rcnode* firstarc銆傛搷浣滄柟娉曞涓嬶細1銆侀鍏堝湪鐢佃剳涓紝鎵撳紑Microsoft Visual Studio杞欢銆2銆佹帴鐫鏂板缓C++ 鎺у埗鍙板伐绋嬶紝鍛藉悕涓篢est宸ョ▼銆3銆佺悊瑙ypedef struct 鐨勭敤娉曪細鍦–涓畾涔...
  • 鍦–璇█涓,鎬庝箞鍒犻櫎涓涓缁撴瀯浣撴暟缁涓殑鏁版嵁?
    绛旓細浣犺兘鍛婅瘔鎴戜綘鏄兂骞插槢鍚 杩介棶锛 瀛︾敓淇℃伅绠$悊绯荤粺涓湁涓涓缁撴瀯浣撴暟缁,瀛樻湁瀛︾敓濮撳悕char(20),瀛﹀彿int,绛変俊鎭,瑕佸疄鐜拌绋嬪簭鐨勫叏閮ㄥ垹闄ゅ姛鑳 鍥炵瓟锛 閭e彲浠ュ儚涓婇潰鎴戞暀鐨勭殑閭f牱锛屽叾瀹炲氨鏄敤0鍜孨ULL鎶婂師鏉ョ殑鍊肩粰瑕嗙洊浜嗭紝鍘熸潵鐨勬暟鎹嚜鐒跺氨娌℃湁浜嗭紝涔熷氨鏄疄鐜颁簡浣犵殑鍒犻櫎鐨勭洰鐨勶紒
  • c璇█缂栫▼:寤虹珛涓涓缁撴瀯浣撴暟缁?
    绛旓細鍒嗘瀽棰樻剰:涓銆佽瀹氫箟涓や釜缁撴瀯浣擄紝涓涓槸鏃ユ湡骞存湀鏃ワ紝涓涓槸鍛樺伐銆備簩銆佺▼搴忓寘鍚笁涓姛鑳斤細1銆缁撴瀯鏁扮粍鐨勮緭鍏ャ2銆佺粨鏋勬暟缁勭殑杈撳嚭銆3銆佺粺璁″钩鍧囧伐璧勩傛牴鎹紪绋嬩範鎯紝涓夊姛鑳借鍐欐垚鐙珛鍑芥暟锛屾柟渚挎墿灞曞拰璋冪敤銆俻s:鍛樺伐鏁伴噺瀹氫箟鎴愬父閲忥紝涔熶负缂栫▼涔犳儻锛屼究浜庝慨鏀广傚彟澶栵紝鏃ユ湡楠岃瘉鎴戝彧鍐欎簡鏈堜唤妫娴嬬粰浣犲弬鑰冦傞渶...
  • C璇█缁撴瀯浣撲腑瀹氫箟涓夌淮鏁扮粍,鐒跺悗鍦ㄥ0鏄庝竴涓粨鏋勪綋鐨勬暟缁,杩欐牱鍙笉鍙互...
    绛旓細杩欎箞瀹氫箟鏄病闂鐨勶紝缂栬瘧鑲畾鏄病鏈夐棶棰樼殑锛圼31]鍚庨潰鏄笉鏄皯浜嗕竴涓垎鍙凤級銆備絾鏄叧閿槸struct time a[10];瀹氫箟鍦ㄥ摢浜嗭紙杩欎箞瀹氫箟鐩稿綋浜37200涓猧nt绫诲瀷锛夈傚鏋滄槸涓涓叏灞鍙橀噺锛岄偅濂借锛岃繖涓崰鐢ㄦ暟鎹鐨勭┖闂达紝涓鑸潵璇存暟鎹绌洪棿姣旇緝澶э紝鑳藉鍒嗛厤鍑烘潵杩欎箞澶х┖闂淬傚鏋滃彧鏄竴涓眬閮ㄥ彉閲忕殑璇濓紝閭e緢鏈...
  • 鍏充簬C璇█涓粨鏋勪綋鍙橀噺涓暟缁鎴愬憳闂
    绛旓細20]="Zhang ping";浣嗘槸瀹氫箟涔嬪悗鍦ㄥ嚱鏁扮殑鎵ц閮ㄥ垎涓氨涓嶈兘杩欐牱鍐欎簡锛屽彲浠ョ敤瀛楃涓叉嫹璐濆嚱鏁帮紝鍗冲啓鎴恠trcpy(boy1.name,"Zhang ping");c[2]={1,2} 閿欒锛岃閫愪釜鍏冪礌璧嬪笺傚啓鎴恊.c[0]=1;e.c[1]=2;鎴栬呭湪瀹氫箟缁撴瀯浣鍙橀噺e鏃跺垵濮嬪寲锛歴truct a e={2,'f',1,2,1.23};
  • 扩展阅读:c语言结构体中 的用法 ... c语言结构体中的冒号 ... c语言结构体例子 ... c语言三种基本的结构 ... c语言中的结构体类型 ... c语言符号大全表解释 ... c语言struct结构体数组 ... c语言在线翻译器 ... c语言中结构体的使用 ...

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