C_and_CPP 板


LINE

开发平台(Platform): Mac 编译器: GCC 额外使用到的函数库(Library Used): uthash 问题(Question): 完整资讯请至 https://hackmd.io/@allencheng/rygXSYiTq 小弟在自学 C 语言,并尝试用 C 来解 leetcode 题目 在 refactor test code 的时候,编译没问题,但执行时发生 segmentation fault source: // origin numsSize = 4; int *nums1; nums1 = (int *) malloc(numsSize * sizeof(int)); nums1[0] = 2; nums1[1] = 7; nums1[2] = 11; nums1[3] = 15; // refactor numsSize = 4; int *nums1; nums1 = (int *) malloc(numsSize * sizeof(int)); int data[] = {2, 7, 11, 15}; // 这行出错 for (size_t i = 0;i < numsSize;i++) nums1[i] = data[1]; 检查後发现是宣告 int array 的时候执行错误 有尝试寻找问题的原因,但可能是观念不足或不知道关键字 找不到可以解释的地方 所以才来这询问是什麽原因造成错误? -- 另外再请教,我是用网路上的资源跟书局翻书自学 C 语言 找不到同伴跟前辈,所以有点瞎子摸象 不晓得我目前这样写的方式,符不符合一般 C 语言开发的惯例或风格? 目前找到的学习资源大都只是教语法或基础观念, jserv 的「你所不知道的 C 语言」对经验薄弱的我来说来有点艰涩,消化不良 想知道有没有比较实务运用学习资源或教材? 例如手把手地的实做出一个 C 语言的软体 / 实用的 lib 操作 目前已学完 Havard CS50, 作业有做完 CMU 15-213(CS:APP) 缓步持续努力中,但教材很「底层」,实务经验不够也很痛苦 XD 谢谢 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.9.49.120 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1672551970.A.87A.html
1F:→ stucode: 问题应该是出在没有初始化 returnSize 01/01 14:17
2F:→ nh60211as: 一楼说的没初始化 01/01 14:46
3F:→ nh60211as: https://wandbox.org/permlink/1BsfTjdddHwLmcqE 01/01 14:46
4F:→ nh60211as: https://i.imgur.com/t5Uu4Ir.png 01/01 14:47
5F:→ Richun: gcc先加个flag -Wall 把所有的warning都开出来 01/01 15:44
6F:→ Richun: 你的returnSize是一个简单的int能处理的事,在main里面只 01/01 15:47
7F:→ Richun: 需要初始化 size_t returnSize = 0; 或把size_t换成int 01/01 15:48
8F:→ Richun: 在call function传参数时加上&,&returnSize传址进去。 01/01 15:50
9F:→ allencheng: 您好,已补上初始化,但是变成编译过,执行错误 Orz 01/01 15:58
10F:→ allencheng: 有把讯息补在 hackMD link 上,请参照,谢谢 01/01 15:58
11F:推 Schottky: ......请问returnSize做什麽用途,初始化为NULL是对的吗 01/01 16:01
12F:→ nh60211as: 初始化是要malloc,你的twoSum里面是直接assign value 01/01 16:03
13F:→ nh60211as: ,如果returnSize是NULL,当然会直接segmentation fault 01/01 16:03
14F:→ nh60211as: 。不然就是像Richun讲的在main的returnSize改成int,然 01/01 16:03
15F:→ nh60211as: 後传address 进twoSum 01/01 16:03
16F:→ allencheng: 问题已解决,解决内容跟 git commit 已更新在 hackMD 01/01 16:12
17F:→ allencheng: 谢谢大家的协助,搞懂问题出在哪了,会再补上解说 01/01 16:14
18F:→ Richun: 在pointer跟address那边你应该还很不熟,还没搞懂为什麽 01/01 16:21
19F:→ Richun: function的宣告returnSize是用int*型态(应该size_t*更好) 01/01 16:22
20F:→ allencheng: 参数型态的部分是因为 leetcode 里面就是这样宣告的 01/01 16:27
21F:→ allencheng: ,我是先在 LC 测过,再回过头尝试写测试练习 C 语言 01/01 16:27
22F:→ allencheng: 的 01/01 16:27
23F:推 Dracarys: https://hal.inria.fr/hal-02383654/document 01/01 18:47
24F:→ Dracarys: https://bit.ly/3i6aYGq 01/01 18:48
25F:推 Lipraxde: 程式风格百百种,就像口音一样,只要参与开发的时候能 01/03 12:25
26F:→ Lipraxde: 适应就好,更重要的事是逻辑层面的,要条理分明、精简 01/03 12:25
27F:→ Lipraxde: 而且完整 01/03 12:25
28F:推 dmeiki: 可以看 6.1810,看完会 c 跟作业系统 01/04 16:58
29F:→ allencheng: 感谢推荐!我会花点时间好好研究的 01/04 18:14
30F:推 dalbuhr: 赞喔 01/19 11:17
31F:推 hahalala: 请问 6.1810 这是? 02/01 20:00
32F:推 cloki: 关键字都有了就直接google吧... 02/02 06:51







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP