word2vec用到的c语言知识
argc,avgv用法
argc 表示有几个参数,因为至少要指定一个应用程序的名,所以argc>=1. argv表示参数是什么。
int main(int argc, char **argv) {
printf("hello world.\n");
printf("argc=%d\n", argc);
int i = 0;
for (i = 0; i < argc; i++) {
printf("%s\n", argv[i]);
}
return 0;
}
判断命令行输入有没有某个字符串.
如果没有返回-1,如果有把字符串后面的数字转化为整型.
int ArgPos(char *str, int argc, char **argv) {
int a;
for (a = 1; a < argc; a++) {
if (!strcmp(str, argv[a])) {
if (a == argc - 1) {
printf("Argument missing for %s\n", str);
exit(1);
}
return a;
}
}
return -1;
}
int main(int argc, char **argv) {
int i;
if ((i = ArgPos((char *)"-size", argc, argv)) > 0) {
printf("argv=%d", atoi(argv[i + 1]));
}
return 0;
}
alloc
malloc和alloc的作用类似,申请连续的内存空间.不同是calloc申请空间的内容被清空.malloc申请空间的内容是随机的.
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
struct student {
int id;
int score;
};
struct student* s1;
struct student* s2;
/*
* malloc和alloc的作用类似,申请连续的内存空间.不同是calloc申请空间的内容被清空.
* malloc申请空间的内容是随机的.
*/
int main(int argc, char **argv) {
s1 = (struct student*)calloc(MAX, sizeof(struct student));
printf("%d, %d\n", s1[0].id, s1[0].score);
s2 = (struct student*)malloc(MAX * sizeof(struct student));
printf("%d, %d\n", s2[0].id, s2[0].score);
return 0;
}
fscanf
把文件中的内容读取到内存
#include <stdio.h>
#include <stdlib.h>
int main(){
char str1[10], str2[10], str3[10];
int year;
FILE * fp;
fp = fopen ("file.txt", "w+");
fputs("We are in 2012", fp);
rewind(fp);//重新指向流的开头
fscanf(fp, "%s %s %s %d", str1, str2, str3, &year);//把数据从文件中读到内存
printf("Read String1 |%s|\n", str1 );
printf("Read String2 |%s|\n", str2 );
printf("Read String3 |%s|\n", str3 );
printf("Read Integer |%d|\n", year );
fclose(fp);
return(0);
}
posix_memalign
linux支持posix_memalign,windows不支持.posix_memalign申请空间考虑了内存对齐的问题.和malloc,calloc相比效率更高.第一个参数要转化成(void**),第2个参数必须是2^n,第3个参数必须是第2个参数的倍数.最终申请的空间数是第3个参数指定的,申请空间的类型是*buf.
#include <stdio.h>
#include <stdlib.h>
int main() {
float *buf;
int ret;
ret = posix_memalign((void**)&buf, 256, sizeof(float) * 256);
if (ret) {
printf ("error.");
return -1;
}
int i;
for (i = 0; i < 256; i++) {
buf[i] = i;
}
for (i = 0; i < 256; i++) {
printf("%f\n", buf[i]);
}
return 0;
}
word2vec用到的c语言知识的更多相关文章
- 【转】R语言知识体系概览
摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...
- STM32F4 阿波罗 库函数与C语言知识
先聊一聊: 之前使用32都是用的库函数,但是没有理解为什么那么操作,有很多的文件我也不知道要看哪一个,感觉云里雾里,没有学清楚一件东西的感觉不太好,于是就在前几天一直跟着比较详细的视频学习.开始老师讲 ...
- C语言知识汇总,史上最全面总结,没有之一
C语言基础 C语言学习路线 C语言入门笔记 初识C语言 简单的C程序示例 我们编写的C代码是怎样跑起来的? 简单示例,VS2019调试C语言程序 C语言基础-数据类型 深入理解变量,变量的声明,定义, ...
- 老师不讲的C语言知识
老师不讲的C语言知识 导语: 对于工科生,C语言是一门必修课.标准C(ANSI C)这个看似简单的语言在硬件底层编程.嵌入式开发领域还是稳坐头把交椅.在20年5月份,C语言就凭借其在医疗设备上的广泛应 ...
- Go语言知识查漏补缺|基本数据类型
前言 学习Go半年之后,我决定重新开始阅读<The Go Programing Language>,对书中涉及重点进行全面讲解,这是Go语言知识查漏补缺系列的文章第二篇,前一篇文章则对应书 ...
- 关于C语言知识调查
因为上一篇随笔对这一部分写得不够清楚,因此在这篇做一些补充. 你是怎么学习C语言的? 起初,对于C语言的学习主要是通过老师课堂的教学,完成相关的课后作业.与我的技能相比的话,他们都有一个共同点需要去实 ...
- 基础语言知识JAVA
1. 总结: JAVA比较重要的博客: http://www.runoob.com/java/java-tutorial.html (JAVA教程) http://blog.csdn.net/ ...
- [Java面试九]脚本语言知识总结.
核心内容概述 1.JavaScript加强,涉及到ECMAScript语法.BOM对象.DOM对象以及事件. 2.Ajax传统编程. 3.jQuery框架,九种选择器为核心学习内容 4.JQuery ...
- JavaScript语言知识收藏
接触Web开发也已经有一段时间了,对javascript的认识也比以前有了更加深入的认识了,所以觉得应该整理一下. 一.JavaScript不支持函数(方法)的重载,用一个例子证明如下: functi ...
随机推荐
- web开发基本概念
一.什么是静态页面,什么是动态页面? 答:静态页面是不需要网络请求就可以看到的页面,保存在本地. 动态页面是需要网络请求才可以看到的页面,保存在服务器. 二.网页的运行环境? 答:浏览器 客户端 三. ...
- requests保存图片
1.创建07_save_jpg.py文件 import requests #发送请求respone = requests.get("https://www.baidu.com/img/bd_ ...
- 转:MySQL中变量的定义和变量的赋值使用(转)
MySQL中变量的定义和变量的赋值使用(转) 说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较 ...
- 提高PHP性能效率的几个技巧!
如何提高效率问题,往往同样的功能,不一样的代码,出来的效率往往大不一样. ● 用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有ec ...
- beta week 1/2 Scrum立会报告+燃尽图 02
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9912 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 ...
- AntDeploy一键发布netcore3.0Windows服务到远程服务器
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- 【Luogu P3834】可持久化线段树(主席树)
Luogu P3834 可持久化数据结构就是支持在历史版本上进行查询和修改操作的数据结构. 主席树就是对线段树的改进,使之可持久化. 前置知识:动态开点线段树 我们利用权值(值域)线段树统计区间内的数 ...
- Python常见字符串方法函数
1.大小写转换 S.lower() S.upper() 前者将S字符串中所有大写字母转为小写,后者相反 S.title() S.capitalize() 前者返回S字符串中所有单词首字母大写且其他字母 ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- 2019牛客暑期多校训练营(第二场)J.Subarray
题意:给你一个n 表示有n段连续的1序列 现在问你 在总长度为0~1e9-1的范围内有多少个大于0的子段 思路:假设我们统计了当前的前缀和 我们显然可以用树状数组维护一下前缀和 这样我们可以nlogn ...