人生的意义就是思考其意义分享 http://blog.sciencenet.cn/u/qianlivan 天体物理工作者,家乡云南昆明。

博文

C/C++语言学习笔记(二)gsl相关内容

已有 6852 次阅读 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++语言学习笔记(三)几个标准库中的类型
收藏 IP: 159.226.169.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-17 20:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部