摘要:
1.malloc原型:extern void *malloc(unsigned int num_bytes);头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。功能:分配长度为num_bytes字节的内存块。返回值:返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free 阅读全文
摘要:
C语言中time_t数据类型详细介绍 原帖地址:http://www.eefocus.com/xuefu2009/blog/10-03/187348_f456a.html包含文件:#ifndef__TIME_T#define__TIME_T /* 避免重复定义 time_t */typedef long time_t; /* 时间值time_t 为长整型的别名*/#endif既然time_t实际上是长整型,到未来的某一天,从一个时间点(一般是1970年1月1日0时0分0秒)到那时的秒数(即日历时间)超出了长整形所能表示的数的范围怎么办?对time_t数据类型的值来说,它所表示的时间不能晚于20 阅读全文
摘要:
本文章用于没有太多C语言知识的读者,想要读懂开源的水力建模软件EPANET时,会遇到如下的一些C标准函数,现介绍如下:一、fgets函数原型: char *fgets(char *s, int n, FILE *stream);参数: *s: 字符型指针,指向将存储到的数据地址。 n: 整型数据,将从流中读取 n - 1 个字符。 *stream: 指针数据,欲读取的流。 功能: 从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。 例: 如果一个文件的当前位置的文本如下 Love ,I Have 但是... 阅读全文
摘要:
char *p="1234567890",这样的定义有问题吗? 2008-08-25 19:47 348人阅读 评论(1) 收藏 举报这个"1234567890"字符串不再堆上也不在栈上!而是在文字常量区,而指针p在栈上。文字常量区:常量字符串就是放在这里的.程序结束后由系统释放。比如: inta=0;全局初始化区 char*p1;全局未初始化区 main() { intb;栈 chars[]="abc";栈 char*p2;栈 char*p3="123456";123456/0在常量区,p3在栈上。 static 阅读全文
摘要:
指针函数与函数指针的区别一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y);首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:float *fun();float *p;p = fun(a);注意指针函数与函数指针表示方法的不同,千万不要混淆。 阅读全文
摘要:
本文是通过几篇转帖的文章整理而成的,内容稍有修改:一、C语言中,为什么字符串可以赋值给字符指针变量char *p,a='5';p=&a; //显然是正确的,p="abcd"; //但为什么也可以这样赋值??问:一直理解不了为什么可以将字串常量赋值给字符指针变量,请各位指点!答:双引号做了3件事: 1.申请了空间(在常量区),存放了字符串 2. 在字符串尾加上了'/0'3.返回地址你这里就是 返回的地址 赋值给了 p 二、char *p = “hello”;上边的表达式为什么可以,而把p换成数组,然后再赋值就不行了解释:字符串常量&qu 阅读全文
摘要:
原文地址:http://zhidao.baidu.com/question/50166479.html关于 typedef struct 和 struct2008-04-04 01:53 提问者: leaguesoft |浏览次数:38121次请高手帮忙解释以下几种结构体定义的区别:struct{ int x; int y;}test1;struct test{int x;int y;}test1;typedef struct test{int x;int y}text1,text2;这几种方法把小弟弄得头疼,不胜感激!问题补充:还有:type struct{int x;int y;}te.. 阅读全文
摘要:
#include #include void main(){char x[]={'A','B','C','D'};int len=strlen(x);printf("%d\n",len);}为什么加\0就是len就等于字符个数了,不加的话len就不是预料中的值呢。。strlen是以'\0'作为结束符的,上面没有结束符,会一直讲到内存中的下一个'\0'为止,长度不确定。char x[]={'a','b','c','d' 阅读全文
摘要:
c 函数指针原文地址:http://hi.baidu.com/bellgrade/blog/item/229f792d39e0a5e68a1399f3.html函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){MyFun(10);//这里是调用MyFun(10);函数 return 0;}void MyFun(int x) //这里定义一个MyFun函数{ printf(“%d\n”,x);} 这个My 阅读全文
摘要:
时常在cpp的代码之中看到这样的代码:#ifdef __cplusplusextern "C" {#endif//一段代码#ifdef __cplusplus}#endif 这样的代码到底是什么意思呢?首先,其中__cplusplus是C++编译器的保留宏定义.就是说C++编译器认为这个宏已经定义了.那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入 extern "C"{ 和 } 处理其中的代码; extern "C" { #endif //一段代码 } #endif // 阅读全文