第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

一個(gè)結(jié)構(gòu)體數(shù)組,如何輸出前面的有效長度部分??

一個(gè)結(jié)構(gòu)體數(shù)組,如何輸出前面的有效長度部分??

C
奕吉啊 2017-03-20 15:58:35
?/* 比如定義了一個(gè)長度為10的結(jié)構(gòu)體數(shù)組,但是現(xiàn)在只用了5個(gè)長度,如何只輸出這5個(gè)有效長度的信息? */
查看完整描述

4 回答

已采納
?
MinRam

TA貢獻(xiàn)87條經(jīng)驗(yàn) 獲得超24個(gè)贊

#include<stdio.h>
#include<malloc.h>
typedef?struct?{
	int?useLen;????//?有效長度
	int?*data;?????//?實(shí)際數(shù)據(jù)
	int?allLen;????//?實(shí)際容量
}StruTest;

#define?ALL_LEN?10

int?main(void)?{
	int?len;
	StruTest?*?tmp?=?(StruTest?*)malloc(sizeof(StruTest));?//?申請一個(gè)結(jié)構(gòu)體

	printf("有效長度:");
	scanf("%d",?&len);

	tmp->allLen?=?ALL_LEN;
	tmp->useLen?=?len;
	tmp->data?=?(int?*)malloc(ALL_LEN*sizeof(int));

	printf("輸入數(shù)組");
	for?(int?i?=?0;?i?<?tmp->useLen;?++i)?{
		scanf("%d",?&tmp->data[i]);
	}

	printf("該結(jié)構(gòu)體的內(nèi)容如下:");
	for?(int?i?=?0;?i?<?tmp->useLen;?++i)?{
		printf("%d?",?tmp->data[i]);
	}

	free(tmp->data);
	free(tmp);
}


查看完整回答
反對 回復(fù) 2017-03-21
?
MinRam

TA貢獻(xiàn)87條經(jīng)驗(yàn) 獲得超24個(gè)贊

想到的一種解決方案。

再建立個(gè)結(jié)構(gòu)體,(unsigned int length // 存有效長度

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct xxx ?data[10];)

查看完整回答
1 反對 回復(fù) 2017-03-21
?
Xyino_Snake

TA貢獻(xiàn)31條經(jīng)驗(yàn) 獲得超22個(gè)贊

你所說的話有歧義。我按兩個(gè)意思分別回答你。 1.用帶長度的指針模板。 tpl<tpn type> stc hn_type { type * h; int n; //其他方法自己寫吧。 }; h是指針,n是長度。只需再接一個(gè)專門接口即可。 2.后面的就不用處理也就是了。
查看完整回答
反對 回復(fù) 2017-04-09
  • 4 回答
  • 1 關(guān)注
  • 1930 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號