`
andrew913
  • 浏览: 187527 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
函数指针:函数的入口地址 C程序变量驻留在程序内存空间的某个地址,它所在的地方取决于变量类型(自动变量、静态变量或全局变量等)。我们可以很容易打印变量的地址,如下所示: #include <stdio.h> int main(void) { int i = 3; printf("i resides at %p\n", &i); //i resides at 0xbfef6c44 return 0; }在程序中,操作符&作用于变量i,要求生成i的地址,而格式化标识符%p指定输出 ...
比如敲if语句的时候,按照默认的自动缩进规则,程序格式会是这样: if(XX)         {         xxxx;         } 而实际希望的是这样: if(XX) {         xxxx; } 解决方法: 菜单栏 -> Options -> document options -> 点 “Auto Indent...”按钮 把smart indent options里面的两个复选框取消。 OK。 问题解决。
1)判断表达式 if test  (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2                  两个表达式都为真 test 表达式1 –o 表达式2                 两个表达式有一个为真 2)判断字符串 test –n 字符串                                   字符串的长度非零 test –z 字符串                                    字符串的长度为零 test 字符串1=字符串2                    字符串相等 ...
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!建立一个脚本  Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。  如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi  等来编写我们的shell程序。  程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh  符号#!用来告诉 ...
最近身边找工作的人多,经济危机,工作难找啊,听说很多公司把校园招聘改为社招了,希望情况快点好起来,我明年这个时候还要找工作呢!不过身边一个兄弟短短两个星期就拿了qq和迅雷两家个公司的offer,年薪至少10W以上吧 ...
由于最近要做一些没有传输层以及应用层的协议探测程序,所需普通的socket就无法用了,因为这些协议是没有端口的,比如ping,就是用的ip层的icmp,而arp和rarp是在数据链路层上的应用,所以我只能用raw socket。下面用一个实例来解释raw socket的应用。才开始学,蛮肤浅的。 #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <sys/types.h> #include <linux/if_ether.h> #includ ...
void *calloc(size_t nobj, size_t size); 分配足够的内存给nobj个大小为size的对象组成的数组, 并返回指向所分配区域的第一个字节的指针; 若内存不够,则返回NULL. 该空间的初始化大小为0字节. char *p = (char *) calloc(100, sizeof(char)); void *malloc(size_t size); 分配足够的内存给大小为size的对象, 并返回指向所分配区域的第一个字节的指针; 若内存不够,则返回NULL. 不对分配的空间进行初始化. char *p = (char *) malloc(sizeof ...
最近一个项目要用到这个东西,发现确实很好用,就写了个最简单的例子,希望对大家有用,对linux下面的编程了解实在太少,正在努力学习中,学生嘛,慢慢来,不急躁。 #define __KERNEL__ //这样才能使用list.h,具体请看list.h #include "list.h" /*由于我的机器上没有list.h,所以我拷贝了一个,如果你机器上有,应该是加#include <linux/list.h>*/ #include <stdio.h> #include <string.h> #define MAX_USER_ ...
1.创建套接字:socket() /* Create a new socket of type TYPE in domain DOMAIN, using protocol PROTOCOL. If PROTOCOL is zero, one is chosen automatically. Returns a file descriptor for the new socket, or -1 for errors. */ extern int socket (int __domain, int __type, int __protocol) __THROW; int ...
1. read         #include <unistd.h>         ssize_t read(int filedes, void *buf, size_t nbytes);                   返回值:读取到的字节数;0(读到 EOF);-1(出错)     read 函数从 filedes 指定的已打开文件中读取 nbytes 字节到 buf 中。以下几种情况会导致读取到的字节数小于 nbytes :     A. 读取普通文件时,读到文件末尾还不够 nbytes 字节。例如:如果文件只有 30 字节,而我们想读取 100 字节,那么 ...
通常我们使用多线程的方式是,需要时创建一个新的线程,在这个新的线程里执行特定的任务,然后在任务完成后退出。这在一般的应用里已经能够满足我们应用的需要,毕竟我们并不是什么时候都需要创建大量的线程,并在它 ...
Young people who grow up with the freedom to trade goods will ultimately demand the freedom to trade ideas
Windows下Codestriker Server的搭建分为以下几个步骤: 1. 安装Perl解析器。这里以ActivePerl为例。 安装没有什么难度,主要是用安装以后GUI的PPM去下载相关的PM组件。 2. 安装数据库并为codestriker建立数据库,这里以MySQL的安装为例。 安 ...
Global site tag (gtag.js) - Google Analytics