『壹』 c語言中編寫兩個函數
到底是什麼意思呢?
像這樣嗎?
struct
SLIST
a,b,c,*p;
a.data='a';
b.data='b';
c.data='c';
p=&a;
a.next=&b;
b.next=&c;
c.next='\0';
if(p==『\0』)//這樣應該是0而不是O
printf(「Linklist
is
null!\n」);/*鏈表為空(只有頭結點)*/
else
/*鏈表非空*/
{
printf(「head」);
do
{printf(「->%d」,p->data);/*輸出當前結點數據域中的值*/
p=p->next;/*p指向下一個結點*/
}
while(p!=『\0』);/*未到鏈表尾,繼續循環*/
printf(「->end\n」);
『貳』 C語言creat與fopen的問題
這種問題我遇到過,似乎是程序執行遠比系統處理文件速度快,把創建文件的代碼放在另一個函數中,或用個循環判斷文件是否創建,或者用Sleep暫停一下就不會有這個問題,
『叄』 C語言中creatlist的用法
1、createlist不是庫函數,一般是數據結構中實現新建一個鏈表的自定義函數。因此沒有什麼用法好說的,關鍵是看自己怎麼定義。
2、常式:
NODE*creatlist(inta[])
{NODE*h,*p,*q;inti;
h=(NODE*)malloc(sizeof(NODE));
h->next=NULL;
for(i=0;i<N;i++)
{q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h->next==NULL)h->next=p=q;
else{p->next=q;p=q;}}
returnh;
}
『肆』 C語言中的createprocess()函數參數是什麼
#include <windows.h>
BOOL CreateProcess
(
LPCTSTRlpApplicationName,
LPTSTRlpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes。
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
詳見網路
『伍』 c語言 creatlist 自定義函數求理解
struct list *createlist(int data[], int n)
{
//輸入一個數組,n是數組的大小,返回一個內容相同的鏈表
struct list *head = 0, *p, *q;//head:鏈表頭
int i;
head = (struct list *) malloc(sizeof(struct list));//建立鏈表頭,分配空間
head->data = data[0];//往鏈表頭填入數據data[0]
p = q = head;//這些是循環變數,p先走,q跟著,倆人從鏈表頭一直走到鏈表尾
//每次循環,p和q一開始指向鏈表末尾的節點上。 p先走,malloc函數改變了他的值,他指向了一塊新的內存空間,就是新的節點;然後q->next=p把新連起來;然後 q跟上p的步伐,q=p,相當於二者又站在了末尾的節點上。
for(i=1; i<n; i++)
{
p = (struct list *) malloc(sizeof(struct list));//p變成一個新的節點,給p分配空間(注意p的值被改寫了,它不再是head,而是一個新的值,就是下一個節點)
p->data = data[i];//p裝入數據,第一次循環它裝入的是data[1],也就是緊跟著head的那個
q->next = p;//第一次循環q是head,以後每次都是q落後p一個格子。
//第一次循環相當於head->next=p,把第1個節點放在第0個節點後面。
q = p;
//第一次循環q=p,q追上p的腳步,離開head(第0
//第二次循環q=p,p又變成新的節點,相當於把第2個節點(p)放在第一個節點後面
}
p->next = NULL;//封鎖野指針
return head;
}
不懂歡迎追問
『陸』 create函數C語言怎麼帶入
你說的如果是自定義函數。就先寫出來,比如
#include<stdio.h>
voidcreate()
{
//這里寫函數代碼
}
intmain()
{
create();//在主函數里進行調用
}
『柒』 create函數C語言怎麼帶入
你說的如果是自定義函數。就先寫出來,比如
#include
void create()
{
//這里寫函數代碼
}
int main()
{
create();//在主函數里進行調用
}
『捌』 c語言編寫一個建立學生鏈表的函數creat( )。
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define N 5
typedef struct node
{
char number[10];
int data;
struct node *next;
}node;
node * create()
{
node *p,*s,*h; char number[10];
int j=1,x;
p=s=h=(node*)malloc(sizeof(node));
h->next=NULL;
printf("please input the data to create the list,end with -1 or %d numbers\n",N);
while(x!=-1&&j<=N)
{
printf("input name:");
scanf("%s",number);
printf("input age:");
scanf("%d",&x);
s=(node*)malloc(sizeof(node));
s->data=x;
strcpy(s->number,number);
if(h->next==NULL)
h->next=s;
else
p->next=s;
p=s;
j++;
}
p->next=NULL;
return h;
}
int main()
{
node *p;
p=create() ;
return 0;
}
『玖』 c語言 單鏈表 create 函數為什麼要用 &L地址不用L
因為如果是L的話,就要把整個這個結構體都傳過去,效率不高,而用其指針傳遞的只是一個地址,效率要高很多,尤其對於大型程序來說。而且creat函數里有*L,這就是指向結構體了,剛好需要傳指向結構體 的指針,所以只能取址L,說白了 一個穿的是指針,而一個傳的是結構體,效率高下之分一看就知道
『拾』 c語言createfile函數用法
1、CreateFile 是一個多功能的函數,可打開或創建以下對象,並返回可訪問的句柄:控制台,通信資源,目錄(只讀打開),磁碟驅動器,文件,郵槽,管道。
2、常式:
#include<windows.h>
intmain()
{
HANDLEhf=CreateFile(TEXT("C:\testa.bin"),GENERIC_WRITE,0,
0,CREATE_ALWAYS,0,0);
DWORDwritten;
WriteFile(hf,"x0fxffxffxffxffxff",6,&written,0);
CloseHandle(hf);
hf=CreateFile(TEXT("c:\testb.bin"),GENERIC_WRITE,0,
0,OPEN_ALWAYS,0,0);
SetFilePointer(hf,0,0,FILE_END);
WriteFile(hf,"x0fxffxffxffxffxff",6,&written,0);
CloseHandle(hf);
return0;
}