C/C++语言学习笔记(二)gsl相关内容
已有 7049 次阅读
2011-7-18 13:59
| 个人分类:知识 | 系统分类:科研笔记 |
C语言, block, 结构体, owner
gsl是一个C语言的科学计算库,全称是GNU Scientific Library。严格说不是C/C++本身的内容,但是这个库我经常用,并且里面有很多内容可以帮助学习C语言,所以在这里也记一笔。
今天读程序看到一个类型gsl_vector,和矢量有关。查了一下手册,这个类型是一个结构体,定义是这样的
typedef struct
{
size_t size;
size_t stride;
double * data;
gsl_block * block;
int owner;
} gsl_vector;
这个定义中的size_t在前一篇博文中有论述。新出现的类型是gsl_block,手册里的定义是
typedef struct
{
size_t size;
double * data;
} gsl_block;
接下来碰到的是gsl_vector_free函数,具体代码没有查到,只有一个声明
void gsl_vector_free (gsl_vector * v)
这是用于释放指针的函数。
后面还遇到gsl_vector_set函数,手册里说的是
“……replace calls to gsl_vector_get(v,i) by v->data[i*v->stride] and calls to gsl_
vector_set(v,i,x) by v->data[i*v->stride]=x.”
其中的stride的定义可以参考前面结构体gsl_vector的定义。
转载本文请联系原作者获取授权,同时请注明本文来自钱磊科学网博客。 链接地址: https://blog.sciencenet.cn/blog-117333-465920.html
上一篇:
C/C++语言学习笔记(一)关于size_t 下一篇:
C/C++语言学习笔记(三)几个标准库中的类型