linux C语言专区
文章平均质量分 58
标配的小号
本人CSDN博客已停止更新。更多更新的技术文章,请移步本人博客园,博客园链接为http://www.cnblogs.com/biaopei/
展开
-
C语言函数指针的使用
使用函数指针时一定要注意,因为c不会检查参数是否正确区分返回指针的函数和函数指针int *f4();返回一个整数指针int (*f5)();返回整数的函数指针int * (*f6)();返回整数指针的函数指针传递函数指针例子#includeint add(int a,int b){return a+b;}int sub(int a,int b){原创 2017-05-03 11:35:00 · 315 阅读 · 0 评论 -
进程间通信——管道通信
pipe管道通信#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>int main(){ pid_t childpid; int fd[2]; pipe(fd); char writebuf[]="this if from c原创 2017-05-08 14:06:25 · 252 阅读 · 0 评论 -
进程间通信——共享内存
//shmdata.h//test if define#ifndef _SHMDATA_H_HEADER#define _SHMDATA_H_HEADER#define TEXT_SIZE 100struct shared_use_set{ int readed;//为1时可写入,为0时不可写入 char text[TEXT_SIZE];};#endif//shmread原创 2017-05-09 17:27:18 · 208 阅读 · 0 评论 -
网络编程
客户端代码如下#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h>#include<sys/stat.h>#include<arpa/inet.h>#include<sys/socket.h>int main(){ int ssock,len; char buf[100];原创 2017-05-07 22:02:17 · 194 阅读 · 0 评论 -
多线程
以下两个程序交替运行,编译时gcc -o thread1 thread1.c -lpthread ,如果需要传入一个参数,只需要在创建线程时把第四个参数改为传入的参数就可以了,NULL改为null不能编译通过,pthread_join使一个线程等待另一个线程结束,因为sleep所以运行一秒就停下等待另一个线程运行结束,第二个参数是用来存储等待线程返回值#include #include转载 2017-05-03 11:34:10 · 196 阅读 · 0 评论 -
进程
设置环境变量getenv(string)获得环境变量putenv(string)该stringj需要带=号setenv(name,values,int overwrite)如果环境变量已存在,且overwirte为0,则始终不改变环境,否则永远改变环境unsetenv(name)移除name环境变量clearenv()清空环境变量#include<stdio.h>#include<stdlib.h原创 2017-05-04 22:34:14 · 212 阅读 · 0 评论 -
C语言指针入门
指针指包含地址声明指针:int num;声明整数int *num;声明指针,下面的声明也是等价的,空格的使用指示个人爱好int* num;int * num;int *num;int*num;阅读声明:const int *pci; 倒过来读比较好看,pci是个指针变量,pci是个int型指针变量,pci是个指向整数常亮的指针变量地址原创 2017-04-27 12:28:02 · 300 阅读 · 0 评论 -
c的动态内存管理
在linux系统下使用malloc提示警告,解决方法,加入头文件首先来个基本的例子int *p=(int *)malloc(sizeof(int));(当malloc无法分配内存时会返回null,所以在使用它返回的指针前最好先检查null是否为空,如果不为空再使用p指针)*p=100;printf("%d\n",*p);free(p);(free指针参数应该只指向有malloc原创 2017-04-27 17:40:50 · 342 阅读 · 0 评论 -
C语言文件操作
下列代码创建一个a.txt文件,权限777,fp为返回码#include<stdio.h>#include<fcntl.h>int main(){ int fp; fp=open("a.txt",O_CREAT,777); printf("%d\n",fp); close(fp);return 0;}fd是指文件描述符 open(filename,flag,原创 2017-05-03 09:27:03 · 380 阅读 · 0 评论 -
linux系统调用的三种方法
通过glibc提供的库函数[23:02:14] gcc chmodtest.c [23:02:17] ls -l kali //记得先创建这个文件-rwxrwxrwx. 1 root root 0 May 10 22:56 kali[23:02:25] ./a.outchmod succeed[23:02:29] ls -l kali-rw-rw-rw-. 1 root root 0原创 2017-05-11 14:35:06 · 542 阅读 · 0 评论 -
execve函数的介绍与使用
#include<stdio.h>#include<unistd.h>int main(){ char *filename[]={"./BP",NULL};//BP是c文件编译链接后产生的可执行文件,目的是打印一条语句 char *envp[]={0,NULL};//如果依赖于新环境变量,这里才需要改 execve("/root/BP",file原创 2017-05-11 13:49:53 · 1133 阅读 · 0 评论