-
/*argcargv.c*/
-
#include<stdio.h>
-
#include<string.h>
-
#include<stdlib.h>
-
int main(int argc,char *argv[])
-
{
-
if(argc==1)
-
printf("USAGE:\n");
-
if(argc==2)
-
printf("port=%d\n",atoi(argv[1]));
-
if(argc==3)
-
printf("ip=%s,port=%d\n",argv[2],atoi(argv[1]));
-
return 0;
-
-
}
-
/*atoi将字符串转化为整数*/
-
[root@iZ94tdwp8ysZ server]# gcc argcargv.c -o argcargv
[root@iZ94tdwp8ysZ server]# ./argcargv 5008 127.0.0.1
ip=127.0.0.1,port=5008
**双指针的解释:
#include
#include
#include
int main(int argc,char* argv[]){
char *name="hello";
char **p;
p=&name;
while(1){
printf("%s\n",*p);
sleep(1);
}
return 0;
}
这里的双指针,必须是char*name 和char **p,然后p=&name,而char name[]不能使用。
************************************************************************
**
void *类型可以转化成其他*型的变量。
struct的知识:
#include
#include
struct student{
char name[10];
int count;
}st1={"hello",20};//结构体初始化
int main(int argc,char* argv[]){
printf("%s %d\n",st1.name,st1.count);
return 0;
}
//结构体数组的初始化
struct student{
char name[10];
int count;
}st1[3]={"hello",20,"world",10,"root",12};//结构体初始化
静态链表:
#include
struct Person{
int num;
float score;
struct student *next;
};
int main(int argc,char* argv[]){
struct Person a,b,c,*head,*p;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
while(p!=NULL){
printf("%d %f\n",p->num,p->score);
sleep(1);
p=p->next;
}
return 0;
}
fgets 和fputs函数讲解:
fgets(str,n,fp)从fp指向的文件读入一个长度为(n-1)的字符串,存放到字符数组str中。
fputs(str,fp);把str字符串输出到指向fp的文件。
输入输出到文件的函数:
fprintf(fp,"%s %d",a,b)函数
fscanf(stdin,"%s",&a)函数
fread和fwrite函数的使用要格外注意。。
fseek(fp,100L,0);将文件位置标记向前移到离文件开头100个字节处。
fseek(fp,50L,1);将文件位置标记向前移到离当前位置100个字节处。
fseek(fp,-10L,2);将文件位置标记移动到文件末尾10个字节处。
阅读(1468) | 评论(0) | 转发(0) |