1樓:網友
假設你的陣列是。
f:array[1..k,1..k] of longint;
那麼,你好祥如果要把f[1]全付舉嫌成0,就用。
fillchar(f[1],k,0);
代表的意思是,將f[1]這個陣列中的前k個數賦值成0。(ps:這可不是偽**友答搏,是源**)
懂了沒?不懂在追問。
2樓:不琴軒
你可以用for迴圈,如果用乎鍵fillchar的歲差巧慶凳話,應該這樣:
fillchar(f[1],sizeof(f[1]),0)
3樓:網友
全部搏汪飢清0就是:fillchar(f,sizeof(f),0);
只把f[1]清成0:f[1]:=0;
fillchar不基返能單獨清0,他陵亮是按位填充。
4樓:網友
chengrui995029是錯的,sizeof(f[1])不是指陣列的長度k,longint是4個字則指節,所衡好以sizeof(f[1])應該等於4k,應該是fillchar(f[1],sizeof(f[1]),0),或者是fillchar(f[1],k*4,0)。咐盯鉛。
pascal中fillchar()的意義是什麼
5樓:ぁdragon族
fillchar(a,sizeof(a),0);
意思就是把陣列a的每乙個單位賦初值為0
類似的還可以寫成。
fillchar(s,sizeof(s),'');
就是把s陣列的每乙個單位賦為空的意思。
6樓:
system單元的fillchar過程用來把指定記憶體段中的所有位元組賦為相同的值,它通常用來清空資料。fillchar的格式是fillchar(var x; count: word; value),x是指定的記憶體段,如陣列變數,count是記憶體段的大小,即位元組數,value是填充的值,可以是byte、char或boolean等單位元組型別的值。
如果你要把元素型別為shortint、integer或longint的陣列清空為0,可以把value設為0,如果要全部元素賦為-1,可以把value設為255。下面是乙個簡單的樣例:
varp: array[0..999] of longint;
beginfillchar(p, sizeof(p), 255);
writeln(p[999]);
en阿不好意思,好像和第一位的答案重複了~~~事先宣告。
我不是混分的。
pascal fillchar多少值為-
7樓:寒清泓
fillchar可以用來給布林型變數設定最初狀態。但是對一維整型變數等賦值只當賦值為0時有效,賦其他值時容易出錯,最好用迴圈。
pascal中fillchar的值能填-1?
8樓:網友
我的fp 可以使用,而且沒錯,不過fillchar(a,sizeof(a),1)或fillchar(a,sizeof(a),-2)就不對了。
所以為了保險起見,除了初值賦0以外的就用for吧時間麼,寫乙個for也花不了多少時間吧。
至於執行時間,在我的電腦上(,乙個1000000的長整型陣列,用fillchar和for的時間幾乎沒有差別。
所以為了保險起見,除了初值賦0以外的就用for吧。
pascal 中,過程fillchar是什麼意思?怎麼用?
9樓:織田信長
pascal(一種類似c語言的程式語言)的乙個記憶體塊賦值函式。
定義:procedure fillchar ( var x; count : longint; value : char or byte);
意為:對乙個char型別的陣列x進行count次賦值,當value為char型別時,直接賦值;若value為byte型別時,將value作為ascii賦值給每個單元。
被引申為:對乙個記憶體塊,每8個二進位位賦值value,賦值count次,長度為:count*8個二進位位。
fillchar是一種很常用的函式,大部分賦值都是用fillchar完成的,因為對記憶體的塊賦值,比使用迴圈要快得多。
根據引申意,我們舉個例子:
首先定義:vara : array[1..10000] of arrtype;
當arrtype為integer時:
fillchar(a,sizeof(a),0); //效果是:將陣列清空,所有元素賦值為0
fillchar(a,sizeof(a),1); //效果是:將陣列每乙個元素都賦值為257,解釋如下:integer佔16個二進位,使用fillchar後,每乙個位元組被賦值為1,所以每乙個元素的二進位為:
0000000100000001,即257
10樓:秋魁
首先正如上面所說,fillchar是對記憶體塊賦值的函式 而上面引用的就是的內容。
關於fillchar的時間效率:
fillchar雖然是對記憶體塊進行操作,但是它的時間複雜度(通常說的大歐表示法)也是o(n)的,和迴圈賦值是一樣的。
但是因為它是直接對記憶體操作,在翻譯成機器**的時候會少很多語句,理論上會比迴圈賦值快一點點(只是常數的差距而已)
根據我自己的感覺,實際應用中,兩種方法所用的時間基本相同。
pascal中fillchar和sizeof問題
11樓:網友
fillchar是字元填充用的,如fillchar(p, sizeof(p), 0);
是以0去填充p這個陣列,而sizeof則是求陣列的長度,因此,當0變為1時,則以1去填充p這個陣列,陣列中的所有元素會被副值為1
12樓:網友
fillchar是字元填充函式。
用指定字元去填充字串。
sizeof是取乙個物件的大小。
13樓:網友
sizeof 是p一共多少項,fillchar是往p裡填sizeof(p)個0;
如何用fillchar給陣列賦值成1(pascal)
14樓:
這個貌似沒法賦值。
因為fillchar 是對位操作(可以理解為每乙個位元組)
longint是四個位元組。
用fillchar是給這四個位元組都賦值為相同的值。
但是要使longint=1,則前三個位元組為0,最後乙個是1,這樣不符合fillchar的操作,所以不能。
fillchar要麼對longint賦值為0要麼是maxlongint(這兩種最常用)
要賦值為1的話就只能用迴圈了。
完畢,給分吧。
補充:回樓下。
賦值maxlongint的方法是。
fillchar(a,sizeof(a),127);或者fillchar(a,sizeof(a),$7f);
其中a是longint陣列)
即把每乙個位元組都賦值為最大值,那麼4個位元組都最大,加起來就是滿的,所以是maxlongint
同理,對於任何整型別陣列,照此法行都可以賦值為本型別的最大值(如integer是maxint;byte是127)
15樓:匿名使用者
longint沒法直接賦成1,可以賦成0,也就是fillchar(a,sizeof(a),0);
或者可以賦成-1,也就是fillchar(a,sizeof(a),255);
pas_zoujp所言有誤,不可以賦maxlongint.
融資易是P2P平臺嗎,融資易是一個P2P平臺嗎
是的,是一個專注於住房金融領域的一個p2p投資平臺,收益上也不錯,合規工作也做得挺足。是的p2p,財經類的 是p2p融資,很多都是,利息高風險大 是一家專注住房金融領域的p2p平臺 融資易是一個p2p平臺嗎?是的,是一個專注於住房金融的一個p2p平臺,收益也還不錯。我也投了有2年了。融資易是一個p2...
怎麼和自命清高的人相處,怎樣打擊一個自命清高的人?
我跟前就又好多這樣的人,但我和他們相處的很好,因為他們在我面前就不知道怎麼清高 具體說不明白就是那個什麼蘇東坡和法印的故事,就是什麼眼中有花心中有花,眼中有屎心中有屎 都自命清bai高了 這樣的人就不du 要巴巴的跑過zhi去和他相處了 愛理不dao理,做好你回自己就行了 或者說答,讓他看到你的能力...
C二維陣列的程式,一個 C 二維陣列的程式
陣列太大了,看看下面 一個由 c c 編譯的程式佔用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由 os 注意它與資料結構中的...