c/C++
司徒伽澜
这个作者很懒,什么都没留下…
展开
-
C语言回调函数学习
对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。 为什么要使用回调函数呢?我们先看一个小例子: Node * Search_List (Node * node, const int v原创 2012-02-23 14:49:05 · 21159 阅读 · 5 评论 -
用VC实现输入密码,显示**
怎样用VC实现输入密码,显示**呢?其实很简单,vc里的EDIT BOX 框属性里有个选项为password,将其勾上,再看你的输入,就变成了××原创 2012-11-27 11:51:05 · 2145 阅读 · 0 评论 -
sprintf函数详解
函数功能: 把格式化的数据写入某个字符串头文件: stdio.h函数原型: int sprintf( char *buffer, const char *format, [ argument] … );参数列表: buffer:char型指针,指向欲写入的字符串地址。 format:char型指针,指向的内存里面存放了格式字符串。 [argument原创 2012-10-31 11:31:46 · 6425 阅读 · 0 评论 -
堆,栈,堆栈的区别
一个程序一般分为3段:text段,data段,bss段text段:就是放程序代码的,编译时确定,只读,data段:存放在编译阶段(而非运行时)就能确定的数据,可读可写就是通常所说的静态存储区,赋了初值的全局变量和静态变量存放在这个区域,常量也存放在这个区域bss段:定义而没有赋初值的全局变量和静态变量,放在这个区域 这个够不够清楚呢?堆栈就是栈的简称。原创 2012-06-28 10:38:30 · 933 阅读 · 0 评论 -
程序编译是出现"field has incomplete type"问题的解决
在编译程序是出现了如下错误, 类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序段只能使用声明对象的引用或者指针。在显式声明异常规范的时候不能使用incomplete t原创 2012-06-20 09:28:23 · 54294 阅读 · 2 评论 -
error: 'memcpy' was not declared in this scope的解决
其实解决办法很容易,到rtppack.cpp中加上头文件string.h就好了,就是#include原创 2012-06-05 16:55:05 · 11530 阅读 · 0 评论 -
C中#if 0 ---#endif和#if 1 ---#endif
这句话起什麽作用?条件总为假,用来跳过某些代码段,编译时跳过#if 0与#endif之间的代码,该语句导致#if 0---#endif之间的语句不会被编译,他是一条预编译语句。 当注释掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围, 当被注释掉的代码很大时容易原创 2012-05-14 16:20:55 · 1372 阅读 · 0 评论 -
pthread_t
类型定义: typedef unsigned long int pthread_t; //come from /usr/include/bits/pthread.h 用途:pthread_t用于声明线程ID。 sizeof (pthread_t) =4;原创 2012-05-28 16:30:42 · 4319 阅读 · 1 评论 -
atoi函数
C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。原创 2012-05-28 16:28:01 · 550 阅读 · 0 评论 -
snprintf函数
int snprintf(char *str, size_t size, const char *format, ...); (1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符('\0'); (2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束原创 2012-05-28 16:25:17 · 651 阅读 · 0 评论 -
C++ 类的定义问题,为什么只有const static 整型变量才可以在类中定义并复赋值?
因为只有const static 变量是会全局保存的,即时你的类析构释放掉了,这些变量会依然保存在内存中如果是非Const的变量,他会随着你的类的释放而释放因此对于普通的变量,应该在构造函数中赋值原创 2012-04-24 10:52:31 · 873 阅读 · 0 评论 -
C语言中利用scanf语句输入多个值的问题
今天利用共同体变量写了一个小程序要求:有若干人员的数据,其中有学生和教师。学生的数据包括姓名、号码、性别、职业、班级。教师数据包括姓名、号码、性别、职业、职务。要求用同一个表格来处理。编译通过后运行程序,发现输出有问题,通过调试发现问题出现在scanf语句中,原本的scanf语句为scanf("%d %s %c %c",&person[i].num,&person[i].name,&perso原创 2012-04-24 10:54:05 · 33746 阅读 · 0 评论 -
解决vc++ cannot add new member
在编辑一个工程的时候,添加一个按钮,对这个按钮产生消息函数双击按钮之后出现 cannot add new member网上说删除.clw文件 我发现并没有这个后缀的文件一下是我的操作办法: 关闭工程-------删除 \debug \release 删掉 或许要是有.clw也要删掉呵呵 --重新打开工程---回到资源的编辑页面---------原创 2013-03-01 15:39:46 · 3621 阅读 · 0 评论