1樓:匿名使用者
fillchar(arr,y,x):將陣列arr所佔用的記憶體y個位元組用x填充。通常與sizeof()函式連用。
sizeof()返回陣列所佔的位元組總數。fillchar(arr,sizeof(a),x):即可填充陣列所在的全部記憶體塊。
可以將該陣列所對應的位元組每個位元組都填充成x,達到集體賦值的效果。例如var a:array[1..
100000,1..100000] of byte;如果要將本陣列全部賦為1的話for迴圈需要10^10次,而fillchar(a,sizeof(a),1):就能瞬間賦值完。
將每個位元組變成00000001,也就是數字1。注意如果有的變數佔用了多個位元組的話比如longint,int64型別,fillchar(a,sizeof(a),1):就會將每個位元組都賦值為1,就變成了00000001 00000001也就是257
2樓:匿名使用者
fillchar,整體賦值原型:fillchar(arr,sizeof(arr),x):表示對arr陣列賦值為x
pascal中fillchar()的意義是什麼
3樓:ぁdragon族
fillchar(a,sizeof(a),0);
意思就是把陣列a的每一個單位賦初值為0
類似的還可以寫成
fillchar(s,sizeof(s),'');
就是把s陣列的每一個單位賦為空的意思
4樓:
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;
begin
fillchar(p, sizeof(p), 255);
writeln(p[999]);
en阿不好意思,好像和第一位的答案重複了~~~事先宣告
我不是混分的
5樓:東北白骨精
如何使用fillchar?
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;
begin
fillchar(p, sizeof(p), 0);
writeln(p[999]);
end.
var a:array [1..10] of arrtype;
執行fillchar(a,sizeof(a),0);
當arrtype為
1.real(其他差不多) 使得a中的元素全部成為0.0
2.integer(byte,word,longint,shortint都相同) 全部為0
3.boolean 全部為false
4.char 全部為#0
執行fillchar(a,size(a),1);
寫幾個特殊的
1.integer 全部為157(不知道為什麼)
2.real 很大的一個數,同上。
3.boolean 全部為true
4.byte,shortint 全部為1,所以integer不行可以暫時用這兩個嘛。 要不然就減去156
pascal中fillchar和fillword的用法 謝謝 20
6樓:木野輕風
置為0: fillchar(a,sizeof(a),0); (arrtype為任意型別)
置為maxint: fillword(a,sizeof(a)div 2,maxint);
(arrtype為integer)
置為maxlongint: filldword(a,sizeof(a)div 4,maxlongint); (arrtype為longint)
注意陣列元素的型別
c++ 初始化陣列 相當於pascal裡的fillchar的那個東西c++怎麼寫?好像是個m開頭的東西。
7樓:匿名使用者
1全部清0通常用
int a[100] =;
類似這樣
或者memset(a,0, sizeof(a)); 這個有點類似於fillchar,按位元組對記憶體進行賦值,也就是fill char
中間的0可以是其他字元
陣列可以使用具體元素初始化
如int a[10] = ;
沒寫的就預設為0
也可以寫成
int b =;
按初始化元素的個數指定陣列的大小
字串陣列
可以char c[100]="123123";
也可以使用strcpy
方法多多,看你具體對應哪一種
8樓:匿名使用者
初始化陣列?
你是說動態陣列麼?
如果是的話就是包含#include
然後用malloc函式來動態分配記憶體。
希望我猜中了。
9樓:匿名使用者
c++沒有函式來初始化,你只有用迴圈語句了
pascal中的fillchar(n,sizeof(n),$80)什麼意思
10樓:匿名使用者
這是一個過程,表示把n陣列每個位賦值為$80(其中sizeof(n)表示次數,函式sizeof()功能是返回變數所佔的總位元組數)
pascal中可以直接表示十六進位制數,格式是$+數字,$80就是十六進位制數80,也就是十進位制數128
11樓:匿名使用者
fillchar(n,sizeof(n),$80)
將n這個 結構體的每個位元組都寫成$80,$80代表是16進位制80 =10進位制的128
12樓:匿名使用者
用writeln(n[1]);你就曉得$80是128了
pascal語言中fillword和fillchar有區別嗎
13樓:娜莉
有區別。
fillchar,fillword,filldword,fillbyte用途舉例
fillchar 是按照位元組填充
fillword ,filldword是按照需要長度的位元組來填充
fillchar:
陣列清0 fillchar(a,sizeof(a),0);
陣列賦值-1 fillchar(a,sizeof(a),$ff);
fillbyte:
通常用fillbyte來給元素型別為byte的陣列賦初值。
陣列賦值255 fillbyte(a,sizeof(a),255);
注:a陣列為byte型別
fillword:
和fillbyte相仿.
但每次賦的是一個值為value的雙位元組無符號整數(word型別),所以每2個位元組賦一次值,而fillbyte是每一個位元組就賦一次值。
陣列賦值32767 fillword(a,sizeof(a) div 2,32767);
注:div 2不能漏
filldword:
與fillbyte相仿。dword意思是佔用4個位元組的整型,具體來講可以是常用的longint型別。
陣列賦值maxlongint filldword(a,sizeof(a) div 4,2147483647)。
14樓:
當然有了
這裡有更多的:
fillchar,fillword,filldword,fillbyte用途舉例
fillchar 是按照位元組填充
fillword ,filldword是按照需要長度的位元組來填充
fillchar:
陣列清0 fillchar(a,sizeof(a),0);
陣列賦值-1 fillchar(a,sizeof(a),$ff);
fillbyte:
通常用fillbyte來給元素型別為byte的陣列賦初值。
陣列賦值255 fillbyte(a,sizeof(a),255);
注:a陣列為byte型別
fillword:
和fillbyte相仿.
但每次賦的是一個值為value的雙位元組無符號整數(word型別),所以每2個位元組賦一次值,而fillbyte是每一個位元組就賦一次值。
陣列賦值32767 fillword(a,sizeof(a) div 2,32767);
注:div 2不能漏
filldword:
與fillbyte相仿。dword意思是佔用4個位元組的整型,具體來講可以是常用的longint型別。
陣列賦值maxlongint filldword(a,sizeof(a) div 4,2147483647);
pascal題目,Pascal題目
1.var a,b,i,m,n longint t text begin a 0 b 0 readln m for i 1 to m do begin readln n if n mod 2 0 then a a n else b b n end writeln b writeln a end.2....
在pascal中怎樣建立程式設計思想
請問您是要問什麼?這個問題過於大了.我是寫pascal的,覺得pascal一定要注意各個部分的統籌兼顧變數,過程,函式,呼叫庫,都是要注意協調的對於初學者,一定要認真除錯每個程式,明白自己為什麼對,為什麼錯最後附上一個pascal裡面的exit code 大全.我是寫fp的 1無效dos功能號 2檔...
pascal數字圖形輸出,PASCAL數字圖形輸出
readln n k 0 i 0 j 0 while k n do begin inc i for j 1 to i do begin inc k write k if j i then write if k n then break end writeln if k n then break en...