V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  aheadlead  ›  全部回复第 76 页 / 共 171 页
回复总数  3420
1 ... 72  73  74  75  76  77  78  79  80  81 ... 171  
16# 回复 @Newyorkcity 7#
@Newyorkcity 绝不可认为数组名是指针 相信我
数组名只是一个地址 严格说连指针常量都不是

你这样思考 比如我对一个 int 型字面量 233 取地址会发生什么
显然会编译错误…
2017-02-13 14:17:27 +08:00
回复了 Newyorkcity 创建的主题 问与答 C 语言,二维数组(字符串),请问这有啥好崩溃的?
3# 正解
@Newyorkcity (回复 15#)

我不是很懂你下面这行代码的意思:
int num[] = malloc(8);

我猜测你是想通过 malloc 从堆申请堆内存,
得到描述了一个 8 个 int 类型的元素的数组的空间的地址,
然后“赋值”给数组 num 。

实际上,这犯了语法错误,函数 malloc 返回的是指向 void 类型的指针。
而 int num[] = ...; 中
编译器期待 ... 应该是诸如 {233, 234, 235} 之类的东西。

此外, malloc(8) 分配的仅仅只是一块 8 个字节的内存。

这里你应该写成
int *num = (int *) malloc(8 * sizeof(int));
看了几遍不是很明白,需要一些样例来说明。看标题立即就想到了 1#说的编辑距离,这是高中时的一道经典动态规划的题目。同建议看看 1#的内容。
看了几遍不是很明白
需要一些样例来说明

看标题立即就想到了 1#说的编辑距离
这是高中时的一道经典动态规划的题目

同建议看看 1#的内容
@Newyorkcity (回复 13#)
你要看错误提示啊。

你没有 include 头文件 stdlib.h
@Newyorkcity (回复 6#)

array.c 里面的这个函数声明:
int *arrary_at(int num[], int index);

实际上,在编译时,第一个参数 int num[] 会退化成 int *num ,
也就是说这两个写法完全等价,编译出的代码都一样。

所以你的代码实际上不会工作,
sizeof(num) 将会是一个常量。

一般的做法,是把数组 num 的长度,作为另一个参数传入函数中,如:
int *array_at(int *num, int length, int index);

另外,函数声明中,涉及数组下标、长度这样的参数,建议用 size_t 类型,
不过,如果初学 C 的话,可不必深究此问题。( http://jeremybai.github.io/blog/2014/09/10/size-t



“另外好像 num[] = malloc(**)也会报错。。
谢谢”

请详细描述。
@Newyorkcity
数组是一个地址的常量;
指针类型的变量里面存放的也是地址。

直接说数组就是指针不恰当。
arrary_at 这个函数是不是打错名字了?
2017-02-06 16:29:16 +08:00
回复了 iOran 创建的主题 问与答 非运维的同学们,你们用过那些简单又实用的 shell 命令?
@aheadlead 我傻了… 看到你那个 9⃣️就写了个 9#,应是 3#
2017-02-06 16:24:43 +08:00
回复了 iOran 创建的主题 问与答 非运维的同学们,你们用过那些简单又实用的 shell 命令?
@iOran 哈哈 2#是手滑发出来的,
本来想写点补充,
但是因为考虑到这个命令可以顾名思义,写了一会又关掉了。
看到你的 9# ,我打开我刚写的脚本看了看,发现我其实记错命令了,实际是 savelog 。

这个 savelog 命令是最近发现的,可以很方便的做 logrotate 。
shell 脚本有时要打日志,每次执行生成一个日志文件(如: rich.log )。
通常没有必要保存太多的日志(比如只用保留最后 7 个日志文件)。
通过这个命令,就可以简单实现:

在每次脚本执行完毕之后,来一个:
$ savelog -c 7 rich.log
2017-02-06 15:55:13 +08:00
回复了 iOran 创建的主题 问与答 非运维的同学们,你们用过那些简单又实用的 shell 命令?
最近发现 logrotate 命令挺好用的
2017-02-06 00:19:15 +08:00
回复了 jimmy2010 创建的主题 问与答 有没有什么办法知道某个楼盘到底还剩哪些房子?
@line 空调电费爆炸 潜在漏水风险
2017-02-05 21:19:09 +08:00
回复了 veryflying 创建的主题 Bash 为什么觉得 Ubuntu 的 bash 比 Mac 好多了?
自己配一配就好了吧……
@LU35 有一门选修课《中国哲学概论》学过这些东西 还是用过一两次的
2017-02-03 18:51:04 +08:00
回复了 JmmBite 创建的主题 2017 请大家用一个字,埋下您对 2017 年的期许
富……
2017-02-02 18:48:14 +08:00
回复了 Jobin0528 创建的主题 Apple 自从入了 iPhone 自家的电池壳,耳机好尴尬
https://detail.tmall.com/item.htm?id=542879246541

看看这类产品如何

利益相关:贫下中农没任何关系…
1 ... 72  73  74  75  76  77  78  79  80  81 ... 171  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2444 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 02:25 · PVG 10:25 · LAX 18:25 · JFK 21:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.