然后将该指针指向数组的首地址
然后循环读取数据
将数据存储进当前指针所指的内存地址并移动指针到下一个位置
输入完成后再将该指针指向数组的首地址
再一次循环输出
将当前指针所指向的地址内的内容输出并移动指针到下一个位置
这样程序就完成了
下面是一个简单的代码示例
#include <iostream>using namespace std;
int main(int argc,char argv)
{
char s[5];
char p;
int i;
p=s; //将指针指向数组
//输入
for(i=0;i < 5;++i)
{
cin>>p;
++p; //指针向后移动一位
}
p=s; //再次指向数组首地址
//输出
for(i=0;i < 5;++i)
{
cout<<p<<endl;
++p; //移动指针到下一位
}
return 0;
}
你这个是代码里面拼写错误了,改成下面的可以显示
class DontStepOnWhitePiece extends JPanel{
public void paint(Graphics g) //上面的这里拼写错误,panit
{
superpaint(g);
gsetColor(Colorblack);
gdrawRect(0, 0, 100, 100);
}
时事件,void(handle)(union sigval v)参数就是处理事件的函数指针。
int omsSetTimer(timer_t tId,int value,int interval)就是设置定时器。
按你说的,如果要同时起多个定时器,需要定义一个数组timer_t tm[n];int it[n];tm就是定时器结构,it用来记录对应的定时器是否已经使用,使用中的就是1,没用的就是0;
主进程消息来了就从it找一个没用的来omsSetTimer,如果收到终止消息,那omsSetTimer 定时时间为0
int omsTimer(timer_t tId,int iValue,int iSeconds ,void(handle)(union sigval v),void param)
{
struct sigevent se;
struct itimerspec ts;
memset (&se, 0, sizeof (se));
sesigev_notify = SIGEV_THREAD;
sesigev_notify_function = handle;
sesigev_valuesival_ptr = param;
if (timer_create (CLOCK_REALTIME, &se, tId) < 0)
{
return -1;
}
tsit_valuetv_sec = iValue;
// tsit_valuetv_sec =3;
//tsit_valuetv_nsec = (long)(iValue % 1000) (1000000L);
tsit_valuetv_nsec = 0;
tsit_intervaltv_sec = iSeconds;
//tsit_intervaltv_nsec = (long)(iSeconds % 1000) (1000000L);
tsit_intervaltv_nsec = 0;
if (timer_settime(tId, TIMER_ABSTIME, &ts, NULL) < 0)
{
return -1;
}
return 0;
}
int omsSetTimer(timer_t tId,int value,int interval)
{
struct itimerspec ts;
tsit_valuetv_sec =value;
//tsit_valuetv_nsec = (long)(value % 1000) (1000000L);
tsit_valuetv_nsec = 0;
tsit_intervaltv_sec = interval;
//tsit_intervaltv_nsec = (long)(interval % 1000) (1000000L);
tsit_intervaltv_nsec = 0;
if (timer_settime(tId, TIMER_ABSTIME, &ts, NULL) < 0)
{
return -1;
}
return 0;
}
另外,团IDC网上有许多产品团购,便宜有口碑
以上就是关于C++编程实现用指针输入输出数组元素全部的内容,包括:C++编程实现用指针输入输出数组元素、JAVA中为什么画出的图形没法显示出来、Linux下的定时器,怎么用。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)