这个数组应该放哪,如果为matlab全局变量数组的话,第二个程序中怎么调用

Pages: 1/2
主题 : 在iphone程序中怎么定义全局变量
级别: 侠客
可可豆: 490 CB
威望: 490 点
在线时间: 103(时)
发自: Web Page
在iphone程序中怎么定义全局变量&&&
本帖被 gagaga 从 Mac开发讨论区 移动到本区()
在iphone程序中怎么定义全局变量?例如,我要定义一个全局的unsigned char a[10]数组,在任意文件中(包括c文件)都可以用到,怎么办?我的程序中有c写的,也有objective_c写的
级别: 侠客
可可豆: 852 CB
威望: 852 点
在线时间: 331(时)
发自: Web Page
写在main.m 文件中用extern导入,或写一个公共类专用来放全局函数,,我是新手,我就是这样写的,不知是否对
级别: 风云使者
UID: 16914
发帖: 4407
可可豆: 37462 CB
威望: 41599 点
在线时间: 10641(时)
发自: Web Page
直接在AppDelegate的.h中定义.
级别: 侠客
可可豆: 690 CB
威望: 690 点
在线时间: 70(时)
发自: Web Page
引用 引用第2楼ljg10-12-01 16:45发表的&&:直接在AppDelegate的.h中定义. 嗯,好像可以在.h文件中直接定义。
级别: 侠客
可可豆: 2548 CB
威望: 2548 点
在线时间: 256(时)
发自: Web Page
回 楼主() 的帖子
1. OC是C的超集,楼主问的问题是C语言的问题2. OC一般用singleton来解决此类问题,而不是用全局变量3. 几首所有的singleton都是可以避免的
Fail again.Fail better.
级别: 新手上路
可可豆: 190 CB
威望: 190 点
在线时间: 9(时)
发自: Web Page
新手,过来学习
级别: 侠客
可可豆: 490 CB
威望: 490 点
在线时间: 103(时)
发自: Web Page
不知道是不是我说的不够清楚,我想的就是假设我要定义一个数组unsigned char[10],在main.m中我要对它赋值,然后在一个.c的C文件中,我要引用这个被赋值过的数组。我应该把这个数组定义在哪里?AppDelegate的.h中定义,我试过了,会提醒我未定义。
级别: 圣骑士
UID: 35729
可可豆: 4332 CB
威望: 4330 点
在线时间: 509(时)
发自: Web Page
自己写一个data.h,在其中static unsigned char[10] ,在你需要使用的文件里面import这个h文件,然后使用就好了。我是这样做的,不知道有没有更好的办法。
级别: 新手上路
可可豆: 370 CB
威望: 370 点
在线时间: 118(时)
发自: Web Page
很多方法实现:1、可以定义到main.m里面,其他用到的地方,需要extern2、写个静态的类,其他用到的地方直接[StaticClassName xxx];3、Singleton无论在哪儿定义,调用的地方都要引用一下,#import或者extern之类的
级别: 侠客
可可豆: 1340 CB
威望: 1340 点
在线时间: 25(时)
发自: Web Page
和C语言一样的。不过感觉更好的方法是弄到一个类里面。通常的思路可以是创建一个类比如Abc,然后定义singleton模式,比如有个静态的sharedAbc,然后里面的property就可以直接当成全局的用了。然后使用下面的方式取数据[[Abc sharedAbc] you_vars];
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
在《c程序设计语言》一书中看到一句话一直不太明白,说外部变量和静态变量的初始化表达式必须是常量表达式,可是在之后的章节中又看到这样的代码
#define ALLOCSIZE 10000
static char allocbuf[ALLOCSIZE];
static char *allcop =
求教这里面的allcop指针变量的初始化表达式为什么可以用?是因为数组名其实不是一个真正的变量吗?那数组名到底算什么呢?就是一个代表数组第一个元素的地址常量吗?再将数组改为一个指针变量以后也确实编译失败了,请问数组名到底是个什么存在呢?常量?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
数组名其实可以理解成 char const *,也就是 不能改变指向的指针,也就是 指针常量。。全局类的指针,都要声明成const比较好
static char const * allcop =
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
数组是数组,指针是指针,二者是两回事。数组名在某些情况下可以隐式转换(或称作退化)为指向数组首个元素的指针。
例如,定义一个数组:
int a[10];
则数组a包含10个保存int类型变量的内存空间。你可以把任意一个int类型的变量赋值给a中的任一元素
而定义一个指针:
则指针p包含1个保存int类型变量的地址的内存空间,不能直接保存int类型变量。你可以把任意一个int类型的变量的地址赋值给p
p = &a[4];
p = &a[0];
这两个例子很好理解,我们把数组a中下标为4或0的元素的地址赋值给了指针p。再看一个例子
// (1) 正确
// (2) 错误
在语句(1)中,当我们直接使用数组名a来进行赋值的时候,数组名到指针的隐式转换(退化)发生了,此时数组名a退化成了这个数组的首个元素的地址(即&a[0]),它的类型退化成了int *。所以语句(1)的效果与上一个例子中的p = &a[0];相同。
在语句(2)中,&a并不会发生数组名到指针的隐式转换(退化),它返回的类型实际上是int (*)[10],并不会自动退化成int *,所以语句(2)的赋值是错误的。
另一个不会发生数组名到指针的隐式转换(退化)的例子是sizeof。
sizeof(a)表示数组a的大小,即10 * sizeof(int)。
sizeof(a[0])或sizeof(*a)表示数组a中一个元素的大小,即sizeof(int)。(注意在sizeof(*a)中发生了数组名到指针的退化。)
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
上面的回答已经说过此处数组名隐式转换为指向数组的指针,也就是赋给变量的是数组的地址。因为数组的地址在编译阶段就可以确定了,所以可以算是常量。
其实我只想说推荐看一下《C专家编程》里面关于数组和指针的部分,以及左值和右值的定义,看了这些之后我感觉对数组和指针就理解得比较清楚了。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
数组名当右值使用时,是指针常量,指向数组首元素。 如:printf("%c", *allocbuf)数组名当左值使用时(左值代表一块内存空间),代表数组所在的那块内存空间。如:sizeof(allocbuf)
还有一点值得注意,由于C语言函数传参传的是值,因此把数组名当参数传过去时,会退化成指针。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
C里面数组就是指针 一定要记住也就是说 数组名 和 &数组名[0] 地址是一样的数组名就是一个指针 指向自己第一个元素
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。怎么在jsp中设置一个数组全局变量,加static报错??能用application吗,怎么用
作者:用户
浏览:429 次
急求大神解救###小弟刚来,分给的少别介意。。。。。###你是什么意思啊,是不同页面共享这个数组全局变量吗?那就用request.getSession().setAttribute###你在class
问题描述急求大神解救解决方案解决方案二:小弟刚来,分给的少别介意。。。。。解决方案三:你是什么意思啊,是不同页面共享这个数组全局变量吗?那就用request.getSession().setAttribute解决方案四:你在class里加,然后把这个classimport进来试试解决方案五:我用Arraylist数组new了一个goodslist对象用来存商品信息,然后把goodslist存到session中,我想定义一个全局变量,当从jsp传值(商品的name等)过来时依次存到goodslist中,而不是要每次都初始化。。。执行Arraylistgoodslist=newArraylist();语句。。解决方案六:&%!Listl=newArrayList();%&这样声明,这个变量就是当前jsp全局的变量了。如果不加!,那么这个变量就是局部的,解决方案七:&%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%&&%@pageimport="goodscar.GoodsSingle"%&&%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%&&!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"&&&&head&&basehref="&%=basePath%&"&&title&MyJSP'showmsg.jsp'startingpage&/title&&linkhref="layout1."rel="stylesheet"type="text/css"/&&metahttp-equiv="pragma"content="no-cache"&&metahttp-equiv="cache-control"content="no-cache"&&metahttp-equiv="expires"content="0"&&metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"&&metahttp-equiv="description"content="Thisismypage"&&!--&linkrel="stylesheet"type="text/css"href="styles.css"&--&&/head&&body&&%!publicstaticStringtoChinese(Stringstr){try{bytes1[]=str.getBytes("ISO8859-1");returnnewString(s1,"gb2312");}catch(Exceptione){}}%&&divid="container"&&divid="header"&&/div&&divid="mainContent"&&divid="sidebar"&&/div&&divid="sidebar2"&&/div&&divid="content"&&IMGheight=400alt=""src="&%=request.getParameter("picUrl")%&"width=490&&/br&&%Stringdishname=request.getParameter("dishname");%&&%Stringprice=request.getParameter("price");%&&%doubledishprice=Double.parseDouble(price);%&&%floatdishpr=(float)%&&center&菜名:&%=toChinese(dishname)%&&/center&&/br&&center&价格:RMB&%=price%&元&/center&&/br&&%inti=0;if(application.getAttribute("i")==null){i=0;}else{i=Integer.parseInt((String)application.getAttribute("i"));i=i+1;}out.print(i);application.setAttribute("i",String.valueOf(i));%&&%ArrayListgoodslist=newArrayList();GoodsSinglesingle=newGoodsSingle();single.setName(dishname);single.setPrice(dishpr);single.setNum(1);out.print(i);goodslist.add(i,single);%&&%session.setAttribute("goodslist",goodslist);%&&center&&ahref="docar.jsp?action=buy"&&imgsrc=images/QQ截图34.png&&/a&&/center&&/div&&/div&&/div&&/body&&/html&解决方案八:刚学的javaweb水平拙劣,每次从别的页面传值商品信息,加到商品数组goodslist下,怎么才能让goodslist始终是同一个?而不是每次都new一个??解决方案:只能对第一个传过来的值进行操作(加入购物车及累加),其他传的不起作用解决方案:引用8楼u的回复:只能对第一个传过来的值进行操作(加入购物车及累加),其他传的不起作用上个问题没结贴呢你还是在发个帖吧这个时间好久远了
【云栖快讯】直播推荐——现在报名3月12日编程语言系列讲座,与行业资深专家一起学习Python、C++、JavaScript、Java!还可在活动页面领取红包,百分百中奖哦!&&
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
40+云计算产品,6个月免费体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
IT采购开年惠,百款产品5折起,新购满额再返最高6000!查看: 11714|回复: 5
易语言 多线程读取全局变量需要加许可证吗
阅读权限30
结帖率: (2/3)
就是我需要读取一个值比较大的变量,变量内存放一个文件的二进制代码,然后我需要多线程去读取它的内容,但是我有点搞不清楚是否需要许可证?
另外,使用循环首容易假死是不是只有用线程?
最后,启动线程,那子程序可以传参么
1,操作量较大的话,一定要用许可证,因为怕有些数据在处理的过程中出现混乱的现象(操作网页的时候就会出现乱码)
2,循环首出现假死,要不就是代码问题,要不就是操作量大或着操作需要等待子程序返回值的子程序,就会假死,用多线程是可以避免这种现象
3,启动线程,可以传参,第二个参数传递一个变量指针进去就行了,多参数可以传进去数组首地址进去
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限90
结帖率: (2/2)
1,操作量较大的话,一定要用许可证,因为怕有些数据在处理的过程中出现混乱的现象(操作网页的时候就会出现乱码)
2,循环首出现假死,要不就是代码问题,要不就是操作量大或着操作需要等待子程序返回值的子程序,就会假死,用多线程是可以避免这种现象
3,启动线程,可以传参,第二个参数传递一个变量指针进去就行了,多参数可以传进去数组首地址进去
到底是读取一次数据然后保存调用快还是每次都读数据快?&
1.因为数据需要保存到局部变量然后再修改,然后这样会不会显著提升内存占用或者影响运行速度?
2.会假死,但是过一会会恢复。这个算假死吗,是有需要返回值(而且返回值还很多还需要判断。。。)
3、多参数可以传&
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
您可以选择打赏方式支持他
阅读权限30
结帖率: (2/3)
1,操作量较大的话,一定要用许可证,因为怕有些数据在处理的过程中出现混乱的现象(操作网页的时候就会出 ...
1.因为数据需要保存到局部变量然后再修改,然后这样会不会显著提升内存占用或者影响运行速度?
2.会假死,但是过一会会恢复。这个算假死吗,是有需要返回值(而且返回值还很多还需要判断。。。)
3、多参数可以传进去数组首地址,什么概念?进去线程还要分割数组吗?
4.线程池和普通的线程有什么区别呢
您可以选择打赏方式支持他
阅读权限30
结帖率: (2/3)
1,操作量较大的话,一定要用许可证,因为怕有些数据在处理的过程中出现混乱的现象(操作网页的时候就会出 ...
到底是读取一次数据然后保存调用快还是每次都读数据快?
您可以选择打赏方式支持他
阅读权限90
结帖率: (2/2)
1.因为数据需要保存到局部变量然后再修改,然后这样会不会显著提升内存占用或者影响运行速度?
2.会假死 ...
1,操作繁琐,就会影响效率和运行速度
2,只要窗口突然显示 无响应&&就等于是假死了 等一会恢复 也算,如果是我 就肯定用多线程处理了,就像我们用多线程访问网页采集数据一样,需要时间等待数据返回,再处理
3,先声明数组,然后用 取变量地址()取到一个整数型数值,就是数组首地址了(指针),你也可以传进去多参数组合的文本,再分割,随你怎么搞 看你喜欢
4,多线程就必须有线程池,普通线程的话,像单独处理一次运行的子程序,我就会用普通线程,也不会用许可证来建立线程池了,因为只是单线程操作,不想让程序有假死现象而已
您可以选择打赏方式支持他
阅读权限165
签到天数: 8 天结帖率: (20/29)
启动线程可以传参的, 第二个参数应该就是了,至于要不要加许可证, 最好是加上。 毕竟量大可能线程会漏。
您可以选择打赏方式支持他
精易论坛 - 有你更精彩 /1
由于人数已经差不多了,本期招生截止3.16 (今天是最后一天),之后只能等半年后的下一期了
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,邮箱:@b.qq.com
Powered by
X3.2 揭阳市揭东区精易科技有限公司
粤公网安备 25评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
第一章 ASP.NET 教程 (基础)
第二章 ASP.NET 教程(高级)}

我要回帖

更多关于 c语言全局变量数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信