‘壹’ 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;
}