C 语言随笔记录

memcpy 函数

#include <string.h>
void * memcpy (void * dest, const void * src, size_t n);

  该函数从 src 地址起,开始拷贝 n 个字节的数据到 dest。若 dest 有数据,则覆盖。

char * target = (char*) malloc (sizeof(char)*N);
memcpy(target, "0123456789", sizeof(char)*N);
puts(target);
free(target);

puts 函数

#include <stdio.h>
int puts(const char *s)

  该函数只能输出字符串,其作用于printf("%s\n", s);相同。其中,s可以是一个字符指针变量、字符数组名,或直接是一个字符串常量,其功能是将字符串中输出到屏幕,直到遇到'\0'(字符串结束标志符)才会停止。

free 函数

  free 的次数要与 malloc 匹配,即次数相等。

  指针被 free 释放之后,指针变量本身并没有被删除,需要将指针 p 置为 NULL,从而杜绝非法使用;即防止其变成“野指针”。

  指针只是一个变量,只有程序结束后,才会被销毁。通过 free 函数释放内存空间后,指向这片空间的指针仍存在,只是其指向的这块内存是不合法的。

Map的比较

  使用std::greater(),从大到小排序

std::vector< std::pair<float, int> > vec;
vec.resize(10);//这里假设已经赋值了,实际上没有
std::partial_sort(vec.begin(), vec.begin() + topk, vec.end(),
                      std::greater< std::pair<float, int> >());

工程中输出到屏幕中
fprintf(stderr, "out's shape %d \n", 1000)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值