❶ c語言 關於字元數組和整型數組清零
C語言數組和整型數組清空方法,示例:
1、整數數組清零
函數:void bzero(void *s, int n)
頭文件: #include <string.h>
功能說明:將字元串s的前n個字元置為0,一般n取sizeof(s),將整塊空間清零;
舉例:char str[10]; bzero(str, sizeof(str)); 也可以將整個結構體清零;
2、數組清空
使用時間:94s
for( k = 0 ; k <10000 ; k++ )
for( i = 0 ; i<MAX; i++ )
for( j = 0;j < MAX; j++ )
a[i][j] = 0;
(1)c語言bzero和memset的區別擴展閱讀
C語言結構體初始化
1、定義:
struct InitMember
{
int first;
double second;
char* third;
float four;
};
2、定義時賦值:
struct InitMember test = {-10,3.141590,"method one",0.25};
❷ c語言問題。大家幫忙!
連接 返回值 連接後的字元串指針。例如
char str[32]="abc";
printf("%s", strcat(str,".ccc"));
打出結果 abc.ccc 與 str里的結果相同。
復制, 返回值, 復制後的字元串指針
printf("%s", strcpy(str,"xyz")) ;
打出結果 xyz, 與 str里的結果相同
比較 strcmp, 返回int 值, 為0 表明 相等,非零 為 不等。
測量長度,返回int 值,表示長度位元組數
字元轉換,不屬標准 字元串處理函數
指針變數本身 是無符號整型數,字長與機器有關,一般32位。它的值是指向的地址。
❸ 求C語言memset的具體用法,什麼時候必須用,什麼時候可以不用以及可以用什麼替換memset
memset函數使用詳解
今天做題卡在MEMSET函數的使用上了,本來以為int a[100]; memset(a, MAX,sizeof(a));就是將a數組全部賦值為MAX,現在才知道他的填充是以位元組為單位,一般用於對字元型變數的初值進行賦值.
更詳細的解說見網路 --> http://ke..com/view/982208.htm
1。void *memset(void *s,int c,size_t n)
總的作用:將已開辟內存空間 s 的首 n 個位元組的值設為值 c。
2。例子
#include
void main(){
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
3。memset() 函數常用於內存空間初始化。如:
char str[100];
memset(str,0,100);
4。memset()的深刻內涵:用來對一段內存空間全部設置為某個字元,一般用在對定義的字元串進行初始化為『 』或『/0』;例:char a[100];memset(a, '/0', sizeof(a));
memcpy用來做內存拷貝,你可以拿它拷貝任何數據類型的對象,可以指定拷貝的數據長度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),會造成b的內存地址溢出。
strcpy就只能拷貝字元串了,它遇到'/0'就結束拷貝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字元串長度(第一個『/0』之前)是否超過50位,如超過,則會造成b的內存地址溢出。
5.補充:一點心得
memset可以方便的清空一個結構類型的變數或數組。
如:
struct sample_struct
{
char csName[16];
int iSeq;
int iType;
};
對於變數
struct sample_strcut stTest;
一般情況下,清空stTest的方法:
stTest.csName[0]='/0';
stTest.iSeq=0;
stTest.iType=0;
用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));
如果是數組:
struct sample_struct TEST[10];
則
memset(TEST,0,sizeof(struct sample_struct)*10);
6。strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#i nclude
功能:把src所指由NULL結束的字元串復制到dest所指的數組中。
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。
返回指向dest的指針。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#i nclude
功能:由src所指內存區域復制count個位元組到dest所指內存區域。
說明:src和dest所指內存區域不能重疊,函數返回指向dest的指針。
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#i nclude
功能:把buffer所指內存區域的前count個位元組設置成字元c。
說明:返回指向buffer的指針。
❹ C語言的memset函數
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#include <string.h>
功能:把buffer所指內存區域的前count個位元組設置成字元c。
說明:返回指向buffer的指針。
舉例:
// memset.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
相關函數:bzero,setmem,strset