avatar
数组分配问题,求教# Programming - 葵花宝典
C*1
1
刚进了个Squeezebox Radio,就是为了听CRI Olies (怀旧金曲) (老了,呵呵)。折腾
了2天了,不行。我在mysqueezebox.com上加Radio Time App然后加了CRI Oldies但是
没声儿。其他的电台都可以,有一次验证了Murphy's Law. 是必须用squeezebox
server吗?
请有经验的同学指点一二。谢谢。
avatar
j*0
2
我有美国洛杉矶学区教育和老师资源,可发美国高中毕业文凭,并办理一年交换学生签
证,若你有中国学校想在国内办私立高中,帮助学生在毕业后进入美国大学,请与我联
系。
avatar
b*t
3
满脑子都是李春天撇嘴洒泪奔向梁冰的镜头。。。
手机铃声也变成:人在江湖漂阿。。。
avatar
w*s
4
John Dewey Sabotages American Education
August 12, 2010
by L.C. Vincent
for henrymakow.com
In 1897, the "Father of American Education," John Dewey (1859-1952) wrote
his manifesto "My Pedagogic Creed." One would expect that the author would
explain the basis of his philosophy.
On the contrary, Dewey continually repeated the mantra " I believe.... I
believe... I believe....". One could hardly find more extended articles of
faith in the Christian Bible.
Author Bruce Deitrick Price wrote that Dewe
avatar
y*n
5
要把数据文件稍微处理一下,想写个简单的C程序弄一下。但编译不通过,真心求问。
很久没怎么碰过编程了,大侠不要笑话 :)
目的就是要申请一个三维数组 data_storage[125][125][200]

short signed int*** data_storage = NULL;
data_storage = (short signed int***)malloc(sizeof(short signed int)*125);
int i=0, k=0;
for(i=0; i<125;i++)
{
data_storage[i] = (short signed int**)malloc(sizeof(short
signed int)*125);
for(k=0; k<125; k++)
{
data_storage[i][k] = (short signed int*)malloc(sizeof(
short signed int)*200);
}
}
这个错在哪里啊,多谢!!
avatar
t*o
6
以前一直可以,现在好像不行了,网址失效了

【在 C*******1 的大作中提到】
: 刚进了个Squeezebox Radio,就是为了听CRI Olies (怀旧金曲) (老了,呵呵)。折腾
: 了2天了,不行。我在mysqueezebox.com上加Radio Time App然后加了CRI Oldies但是
: 没声儿。其他的电台都可以,有一次验证了Murphy's Law. 是必须用squeezebox
: server吗?
: 请有经验的同学指点一二。谢谢。

avatar
j*0
7
我有美国洛杉矶学区教育和老师资源,可发美国高中毕业文凭,并办理一年交换学生签
证,若你有中国学校想在国内办私立高中,帮助学生在毕业后进入美国大学,请与我联
系。
avatar
s*a
8
me 2
那一刻我都替李春天感到幸福啊。宋丹丹演得太好了。

【在 b*******t 的大作中提到】
: 满脑子都是李春天撇嘴洒泪奔向梁冰的镜头。。。
: 手机铃声也变成:人在江湖漂阿。。。

avatar
b*i
9
错哪一行?

【在 y**********n 的大作中提到】
: 要把数据文件稍微处理一下,想写个简单的C程序弄一下。但编译不通过,真心求问。
: 很久没怎么碰过编程了,大侠不要笑话 :)
: 目的就是要申请一个三维数组 data_storage[125][125][200]
:
: short signed int*** data_storage = NULL;
: data_storage = (short signed int***)malloc(sizeof(short signed int)*125);
: int i=0, k=0;
: for(i=0; i<125;i++)
: {
: data_storage[i] = (short signed int**)malloc(sizeof(short

avatar
h*9
11
Hi, I already send your email to ask about it. Thanks
avatar
a*o
12
宋是演的好,许gg真是萌呀,小时候都不泛他,现在老了开始泛老了的他

【在 s*******a 的大作中提到】
: me 2
: 那一刻我都替李春天感到幸福啊。宋丹丹演得太好了。

avatar
y*n
13
编译时通过的,但是无法运行,一运行就崩溃。

【在 b***i 的大作中提到】
: 错哪一行?
avatar
b*k
15

自己办学更好,自个赚全部装进腰包。。。

【在 j*******0 的大作中提到】
: 我有美国洛杉矶学区教育和老师资源,可发美国高中毕业文凭,并办理一年交换学生签
: 证,若你有中国学校想在国内办私立高中,帮助学生在毕业后进入美国大学,请与我联
: 系。

avatar
p*y
16
蛮帅的,就是爱吸烟不好,这样的帅哥只可远观,不可近赏。。。

【在 a******o 的大作中提到】
: 宋是演的好,许gg真是萌呀,小时候都不泛他,现在老了开始泛老了的他
avatar
r*e
17
malloc里边的sizeof不能一直都是sizeof(int)吧,应该有int**, int*吧。
跟你前面ptr cast应该一致。

【在 y**********n 的大作中提到】
: 要把数据文件稍微处理一下,想写个简单的C程序弄一下。但编译不通过,真心求问。
: 很久没怎么碰过编程了,大侠不要笑话 :)
: 目的就是要申请一个三维数组 data_storage[125][125][200]
:
: short signed int*** data_storage = NULL;
: data_storage = (short signed int***)malloc(sizeof(short signed int)*125);
: int i=0, k=0;
: for(i=0; i<125;i++)
: {
: data_storage[i] = (short signed int**)malloc(sizeof(short

avatar
C*1
18
再试试?CRI Oldies不是24小时广播的。
avatar
b*n
19
那个手机铃声很可爱啊搞得我都想弄一个了,呵呵
avatar
b*i
20
试试开始分配指针,而不是short signed int本身的大小

就崩溃。

【在 y**********n 的大作中提到】
: 编译时通过的,但是无法运行,一运行就崩溃。
avatar
t*o
21
搞定了,用radiotime自己给的链接不行了,网上找了其他的链接,easyfm,hitfm和ol
dies都搞定了

【在 C*******1 的大作中提到】
: 再试试?CRI Oldies不是24小时广播的。
avatar
k*e
22
为啥不连续分配125×125×200这么大空间?
Inside the inner for loop, 在k++之后使用这个data_storage[i][k]没有跳过一个大
小为200×short的空间,而只是跳过了一个short int大小的空间导致了crash吧。
avatar
C*1
23
CRI Oldies 是加在 radio time里了吗?怎么加的?愿闻其详。
avatar
k*e
24
typedef signed short (*data_storeage_t)[125][200];
data_storage_t data_storage;
data_storage = (data_storage_t)malloc(125 * 125 * 200 * sizeof(signed short)
);
然后就可以用三维数组的index比如data_storage[x][y][z]访问了。
avatar
C*1
25
被升级以后停不了了,娘希匹。
avatar
m*t
26
short signed int 和指针的长度不一样。你自己看看 sizeof(short signed int)
和 sizeof(any data pointer)。你这个情况下估计 short int 是 2, 但是指针是 4
(32
bit) 或者 8(64 bit).

【在 y**********n 的大作中提到】
: 要把数据文件稍微处理一下,想写个简单的C程序弄一下。但编译不通过,真心求问。
: 很久没怎么碰过编程了,大侠不要笑话 :)
: 目的就是要申请一个三维数组 data_storage[125][125][200]
:
: short signed int*** data_storage = NULL;
: data_storage = (short signed int***)malloc(sizeof(short signed int)*125);
: int i=0, k=0;
: for(i=0; i<125;i++)
: {
: data_storage[i] = (short signed int**)malloc(sizeof(short

avatar
y*n
27
谢谢大家的回复啊。应该确实是short int和指针长度不同造成的。改到int就正常了。
多谢啊!

4

【在 m*********t 的大作中提到】
: short signed int 和指针的长度不一样。你自己看看 sizeof(short signed int)
: 和 sizeof(any data pointer)。你这个情况下估计 short int 是 2, 但是指针是 4
: (32
: bit) 或者 8(64 bit).

avatar
b*i
28
to be accurate, should be size of a pointer, not int
Your Type *** data;
data = malloc (sizeof((Your Type **) * size))
always use one less * in the malloc( size of)

【在 y**********n 的大作中提到】
: 谢谢大家的回复啊。应该确实是short int和指针长度不同造成的。改到int就正常了。
: 多谢啊!
:
: 4

avatar
m*t
29
It does not matter which data type the pointer is pointed to. So sizeof(T**)
== sizeof(T*) on modern computers.

【在 b***i 的大作中提到】
: to be accurate, should be size of a pointer, not int
: Your Type *** data;
: data = malloc (sizeof((Your Type **) * size))
: always use one less * in the malloc( size of)

avatar
d*a
30
这样是更好的做法。
用指针数组程序更复杂,运行效率也相对较低。
第一句有点小错,数组少定义了一维。

short)

【在 k****e 的大作中提到】
: typedef signed short (*data_storeage_t)[125][200];
: data_storage_t data_storage;
: data_storage = (data_storage_t)malloc(125 * 125 * 200 * sizeof(signed short)
: );
: 然后就可以用三维数组的index比如data_storage[x][y][z]访问了。

avatar
b*i
31
哪里错了?

【在 d***a 的大作中提到】
: 这样是更好的做法。
: 用指针数组程序更复杂,运行效率也相对较低。
: 第一句有点小错,数组少定义了一维。
:
: short)

avatar
d*i
32
同问。

【在 b***i 的大作中提到】
: 哪里错了?
avatar
B*i
33
简单一次性的数据处理就不用要C了。 用点什么别的, 比如说python, matlab 之类的
不是挺好的吗?
avatar
d*a
34
Oops,那个没有错(除了data_storeage_t里有个typo)。
说句题外话,按传统C编程的简约风格,可以写成如下一句
signed short (*data_storage)[125][200] = malloc(125 * sizeof(*data_storage));
然后就可以用data_storage[i][j][k]这样的形式来访问了。在C编程中,malloc前不建
议加指针类型的type casting,因为void*指针转换成其它类型指针被认为是安全的,
type casting就多余了(不用也不会产生C编译报警)。

【在 b***i 的大作中提到】
: 哪里错了?
avatar
b*i
35
同意,我都是用java, 写个BASIC的解释程序,然后用BASIC的。需要特殊的函数就自己
定义一个。

【在 B***i 的大作中提到】
: 简单一次性的数据处理就不用要C了。 用点什么别的, 比如说python, matlab 之类的
: 不是挺好的吗?

avatar
B*i
36
LOL. 我一看还以为你写了一个 BASIC 语言的 解释器,然后再用basic 语言呢。

【在 b***i 的大作中提到】
: 同意,我都是用java, 写个BASIC的解释程序,然后用BASIC的。需要特殊的函数就自己
: 定义一个。

avatar
b*i
37
那你现在的理解是什么?

【在 B***i 的大作中提到】
: LOL. 我一看还以为你写了一个 BASIC 语言的 解释器,然后再用basic 语言呢。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。