当前位置:首页 » 编程语言 » c语言怎么让指针回到最开始
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么让指针回到最开始

发布时间: 2022-08-20 17:18:21

1. c语言如果指针被向后移动了n次,如何在移动到头

如果是循环链表(这个在数据结构中有介绍)的话,可以一直移动,判断是否为链表头即可。
如果只是普通链表的话,就无法移动到头了。
建议,普通链表,在移动之前,先定义另外一个变量(比如p)指向头,然后再移动p,保持原链表头(head)指针不变,这样只要进行p=head,就可以再次让p指向头。

2. C语言指针自增后怎么还原到首地址啊,求高手解~

int *origin = null;//保存最初的位置
int *p = .....//给要操作的指针赋初值,如int *p = a;
origin = p;//保存
p++/p--之类的你想做的操作
要使用p的首地址,使用origin即可

3. C语言对文件进行处理时,如何让文件指针移动到所在行的开头以及下一行的开头

fscanf("%s\n",string1);
就到下一行了。
到本行开头自己研究,一回事。

4. C语言里开辟内存空间后如何让指针返回内存首地址

你没在最后添加结束符'\0',修改如下

#include <stdio.h>
#include <stdlib.h>
int main()
{
char *p1,*p2,*p3;
char *p=(char*)malloc(1000000);
p1=p;
p2=p;
p3=p2;
gets(p1);
while (*p1!='\0')
{
if(*p1!=' ')
{
*p2=*p1;
p2++;
}
p1++;
}
*p2='\0'; //加上这一句,添加字符串结束符
puts(p3);
return 0;
}

————————————————————————-
这种输出又不是没用过,没问题的,可以把代码贴上来,我试试
————————————————————————————
输出时用p3啊,
puts(p3);
或用printf也可以
——————————————————————————
汗,你声明一个char *p3,处理前让p3=p2不就行了

5. 如下C语言的指针初始化是怎么初始化的呢

例如 int *pt 然后 *pt=5 这样说是不能对未初始化的指针取值!!还有 如果有指针 char* i; 不初始化直接用 *i="Hello"; 可以吗?
int *pt;/* pt是一个指向整数的指针,未初始化时,存储该指针的地址&pt是随机的,可以用printf("%p",pt)来验证。 就是说,该指针可能指向任意地方,包括系统使用的内存区,虽说这不是你需要的。当*pt = 5时,就有 可能造成无法预料的结果。*/你可以在定义指针的时候直接初始化,语句如下int *pt = 5;同样,也可以这样这样写:char *i = "Hello";

6. C中如何使文件指针重置

//SEEK_SET :文件首
SEEK_CUR :当前位置
SEEK_END :文件末尾
fseek(a,(b-1)*sizeof(struct student),SEEK_SET);
这是函数定义

7. c语言中读文本文档如何让文件指针换到下行首

文本文档的换行标识符为' ', 当读完 后,指针就移动到了下行的行首。

以此为思路可以得到代码:

intmoveToNextLine(FILE*fp)
{
intc;

if(fp==NULL)return-1;//文件指针非法
while(1)
{
c=fgetc(fp);
if(c==EOF)returnEOF;//到文件尾,不存在下一行
if(c==' ')break;//读到需要的换行符。
}

return0;
}

在读取中,FILE*指针会自动完成移位,所以不需要显式的返回指针。

8. c语言如何跳回前面的某一个点重新从那里开始运行

用goto语句。

#include<stdio.h>

voidmain()

{

inta;

begin:scanf("%d",&a);//goto语句的标号begin

if(a<0||a>9)

gotobegin;//如果用户输入的数不在0~9之间,则重新输入

eles

printf("%d ",a);//如果用户输入的数在0~9之间,则输出该数

}

(8)c语言怎么让指针回到最开始扩展阅读:

goto的基本语法

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i = 1;

while(1)

{

printf("在while(1)里 ");

while(i++)

{

printf("i = %d ",i);

if(i > 3)

{

goto TiaoChu;

}

}

}

TiaoChu:

printf("程序结束 ");

return 0;

}

运行结果:

标号位置

在while(1)里

2

3

4

程序结束

9. C语言中什么叫指针复位

指针所指的地址,经过使用后改变到新的地址了,,,,,那么,让指针重新指向开始的地址,是复位

~~~~~

10. C语言中 怎么能让光标回到上一行

turboc的

#include <stdio.h>
#include <conio.h>

int main()
{
int x, y;

gotoxy(5, 5);
printf("position: 5, 5");
x = wherex();
y = wherey();

getch();
gotoxy(x, y - 1);
getch();

}

控制台的

#include <windows.h>
#include <stdio.h>
#include <conio.h>

void gotoxy(HANDLE hOut, int x, int y);
void getxy(HANDLE hOut, int &x, int &y);

int main()
{
int x, y;
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);

gotoxy(hOut, 5, 5);
printf("position: 5, 5");
getxy(hOut, x, y);

getch();
gotoxy(hOut, x, y - 1);
getch();

CloseHandle(hOut);
}

void gotoxy(HANDLE hOut, int x, int y)
{
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(hOut, pos);
}

void getxy(HANDLE hOut, int &x, int &y)
{
CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
GetConsoleScreenBufferInfo(hOut, &screen_buffer_info);

x = screen_buffer_info.dwCursorPosition.X;
y = screen_buffer_info.dwCursorPosition.Y;
}