易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : c

C函数指针的用法

   
2008-06-05 12:38------------------------------------------------------------------------------------------------
函数指针通常用来实现回调,其基本用法如下:
1、定义函数指针类型
// 定义一个原型为int Fun( int a );的函数指针
typedef int (*PTRFUN) ( int aPara );
2、函数指针变量的定义
PTRFUN pFun;    // pFun 为函数指针变量名
int (*pFun2) ( int a );   // pFun2也是函数指针变量名
3、函数指针作为函数的参数传递
// 定义回调函数
int CallBack( int a ){
    return ++a;
}
// 定义回调者函数
void Caller( PTRFUN cb )
// void Caller( int (*cb) ( int ) ) // 也可这样申明
{
    int nPara = 1;
    int nRet = cb( nPara );
}
// 使用回调
void Test(){
    Caller( CallBack ); // 直接使用回调函数
    PTRFUN cb = CallBack; // int (*cb) ( int ); cb = CallBack;
    int nRet1 = cb( 99 ); // nRet1 = 100;
}
4、函数指针的指针使用
// 定义函数指针的指针
typedef i ......

C的内存分配释放方式学习

一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放

,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放

若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
3、全局区(静态区)
(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,
未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放
4、文字常量区 —常量字符串就是放在这里的。
程序结束后由系统释放
5、程序代码区—存放函数体的二进制代码。
二、例子程序
这是一个前辈写的,非常详细
//main.cpp
int a = 0; 全局初始化区
char
*p1; 全局未初始化区
main()
{
int b; 栈
char s[] = "abc"; 栈
char
*p2; 栈
char *p3 = "123456"; 123456在常量区,p3在栈上。
static int c =0;
全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);

配得来得1 ......

C位运算

12.1       位运算符C语言提供了六种位运算符:
    &          按位与
    |          按位或
    ^          按位异或
    ~          取反
    <<         左移
    >>         右移
12.1.1            按位与运算
    按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下:
      00001001        (9的二进制补码)
     &00000 ......

ubuntu安装c/c++集成开发环境

首先确保系统已经安装了gcc/g++
1> Anjuta
打开终端:
命令:sudo apt-get install anjuta
(不能安装的需要添加安装源
添加源:点击主菜单上的“系统”》“系统管理”》“软件源”,输入密码后,在出现的对话框中点“第三方软件”,
“deb http://anjuta.org.sixxs.org/apt ./”
贴上下面这一行,再按“添加源”》“关闭”》“重新载入”。)
按提示选择建议安装
安装完毕之后 "应用程序-->编程-->anjuta IDE" 就可以使用 Anjuta了
使用:
写个Hello World 的C++程序
1。打开Anjuta:点击主菜单上的“应用程序”》“编程”》“Anjuta IDE”。
2。建立项目:在Anjuta中点击菜单,“文件”》“新建”》“4. Project”。出现“应用程序向导”,点“前进”;工程类型选“C++”中的“Generic C++”(附图anjuta-1.png),之后点“前进”;“前进”;工程选项(Project Options)中,全选“否”,再点“前进”,应用即可。 ......

ubuntu安装c/c++集成开发环境

首先确保系统已经安装了gcc/g++
1> Anjuta
打开终端:
命令:sudo apt-get install anjuta
(不能安装的需要添加安装源
添加源:点击主菜单上的“系统”》“系统管理”》“软件源”,输入密码后,在出现的对话框中点“第三方软件”,
“deb http://anjuta.org.sixxs.org/apt ./”
贴上下面这一行,再按“添加源”》“关闭”》“重新载入”。)
按提示选择建议安装
安装完毕之后 "应用程序-->编程-->anjuta IDE" 就可以使用 Anjuta了
使用:
写个Hello World 的C++程序
1。打开Anjuta:点击主菜单上的“应用程序”》“编程”》“Anjuta IDE”。
2。建立项目:在Anjuta中点击菜单,“文件”》“新建”》“4. Project”。出现“应用程序向导”,点“前进”;工程类型选“C++”中的“Generic C++”(附图anjuta-1.png),之后点“前进”;“前进”;工程选项(Project Options)中,全选“否”,再点“前进”,应用即可。 ......

C的TXT电子书阅读器(DOS)

可惜MS-DOS不是中国人写的,不支持中文。
/* Note:Your choice is C IDE */
#include "stdio.h"
main(int argc, char *argv[])
{
FILE *fp;
char ch;
int num=0,max;
int line=0;
if((fp=fopen(argv[1],"rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
while(ch!=EOF)
{
if(wherex()==1) {num++;printf("%d: ",num);}
putchar(ch);
ch=fgetc(fp);
}
max=num;
num=0;
fclose(fp);
while(1)
{
num=0;
fp=fopen(argv[1],"rt");
ch=fgetc(fp);
while(ch!=EOF)
{
if(wherex()==1) {num++;printf("%d: ",num);}
if(num==line+24) break;
putchar(ch);
ch=fgetc(fp);
}
printf("Which line do you want going to?(Most %d)",max);
scanf("%d",&line);
if(line<=0) exit(1);
}
}
......

linux+vim+gcc+gdb开发C/C++程序环境搭建

我用的是ubuntu操作系统。打开终端
1.sudo apt-get install vim(vim-full 这个软件自9.10版本被废弃了,不论怎么添加软件源都找不到的,所以直接安装vim就可以了,,也可以安装gvim,,在新立得软件里面搜索vim就可以找到了)
2.
sudo apt-get install build-essential // build-essential是c语言的开发包,包含了gcc make gdb和libc函数库 很多工具。
或者sudo apt-get install gcc + sudo  apt-get install gdb
网上有很多版本说要编译安装,这个可能挺复杂的,而且花的时间也不少(没试过阿),,不想在命令行中安装的化,可以下载rpm包直接点击安装,
3.gcc只是一个编译器,vim是编辑器(也可以用gedit编辑源代码),gdb是调试器,,
可以新建一个test.c的helloworld文件测试以下
4.一般c程序就用gcc编译,c++程序就用g++编译



 
[
介绍
]
-----------------------------------------
常见用法:
GCC
选项

GCC
有超过
100
个的编译选项可用。这些选项中的许多你可能永远都不会用到,但一些主要的选项将会频繁用到。很多的
GCC
选项包括一个以上的字符。因此你必须为每个选项指定各自 ......

linux+vim+gcc+gdb开发C/C++程序环境搭建

我用的是ubuntu操作系统。打开终端
1.sudo apt-get install vim(vim-full 这个软件自9.10版本被废弃了,不论怎么添加软件源都找不到的,所以直接安装vim就可以了,,也可以安装gvim,,在新立得软件里面搜索vim就可以找到了)
2.
sudo apt-get install build-essential // build-essential是c语言的开发包,包含了gcc make gdb和libc函数库 很多工具。
或者sudo apt-get install gcc + sudo  apt-get install gdb
网上有很多版本说要编译安装,这个可能挺复杂的,而且花的时间也不少(没试过阿),,不想在命令行中安装的化,可以下载rpm包直接点击安装,
3.gcc只是一个编译器,vim是编辑器(也可以用gedit编辑源代码),gdb是调试器,,
可以新建一个test.c的helloworld文件测试以下
4.一般c程序就用gcc编译,c++程序就用g++编译



 
[
介绍
]
-----------------------------------------
常见用法:
GCC
选项

GCC
有超过
100
个的编译选项可用。这些选项中的许多你可能永远都不会用到,但一些主要的选项将会频繁用到。很多的
GCC
选项包括一个以上的字符。因此你必须为每个选项指定各自 ......

linux+vim+gcc+gdb开发C/C++程序环境搭建

我用的是ubuntu操作系统。打开终端
1.sudo apt-get install vim(vim-full 这个软件自9.10版本被废弃了,不论怎么添加软件源都找不到的,所以直接安装vim就可以了,,也可以安装gvim,,在新立得软件里面搜索vim就可以找到了)
2.
sudo apt-get install build-essential // build-essential是c语言的开发包,包含了gcc make gdb和libc函数库 很多工具。
或者sudo apt-get install gcc + sudo  apt-get install gdb
网上有很多版本说要编译安装,这个可能挺复杂的,而且花的时间也不少(没试过阿),,不想在命令行中安装的化,可以下载rpm包直接点击安装,
3.gcc只是一个编译器,vim是编辑器(也可以用gedit编辑源代码),gdb是调试器,,
可以新建一个test.c的helloworld文件测试以下
4.一般c程序就用gcc编译,c++程序就用g++编译



 
[
介绍
]
-----------------------------------------
常见用法:
GCC
选项

GCC
有超过
100
个的编译选项可用。这些选项中的许多你可能永远都不会用到,但一些主要的选项将会频繁用到。很多的
GCC
选项包括一个以上的字符。因此你必须为每个选项指定各自 ......
总记录数:2015; 总页数:336; 每页6 条; 首页 上一页 [40] [41] [42] [43] 44 [45] [46] [47] [48] [49]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号