- 博客(6)
- 资源 (16)
- 收藏
- 关注
原创 关于指针char *p和数组char p[] 的区别
常见到这种指针赋值的错误,今天略微总结:精简后的例子:int main(){ char* str = "123456789"; *str= 'a';printf("%s\n", str); return 0;}编译不报错,运行报segmentation fault分析如下:char *p = “hello”; 和: char p[ ] = “he
2012-11-18 16:13:18 850
原创 const int *a and int *const a and const int * const a 的区别
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在那里1、const int *a 这里const 修饰的是int,而int定义的是一个整值因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象eg: const int *a = 0; const int b = 1;
2012-08-22 17:48:48 410
原创 fseek函数的使用
1、函数功能用来读写一个数据块,2、函数定义 int fseek( FILE *stream, long offset, int origin ); 第一个参数stream为文件指针 第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移 第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_EN
2012-08-09 17:56:21 1015
原创 ifndef和if !defined的使用
在C/C++中,常使用下面的预处理方式避免重复包含头文件引起的重复定义问题://---------------------------------------------------------------------------------------------------------------------//第一种方式:使用ifndef#ifndef __HEADFILE_H_
2012-08-07 17:52:34 912
转载 free()函数的用法
free()的调用方式是:void free(void *ptr)。是释放由ptr所指的内存,并将它返回给堆,以便这些内存成为再分配时的可用内存。free()函数只能用于以前由动态地址分配的函数。如果调用无效指针很可能毁坏内存管理机制,并且引起系统破坏的。 free是调用操作系统的函数,将原先分配的内存区域释放。在操作系统中分配内存不是简单的给一个指针,而是在内核中维护每个
2012-08-02 17:25:57 17646 1
转载 struct timeval结构体
struct timeval结构体在time.h中的定义为:struct timeval{__time_t tv_sec; /* Seconds. */__suseconds_t tv_usec; /* Microseconds. */};其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_usec为微秒数,即秒后面的零头。比
2012-08-01 09:12:43 500
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人