1. C++ 输出到文件中怎样定位指针到文件尾部
fseek(文件指针,偏移量, 起始位置);
第三个参数
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
SEEK_SET: 文件开头
所以到文件尾部就是fseek(你的文件指针,0,SEEK_END);
2. 在c语言中,当我定义好一个指针后,可不可以将这个指针直接指向数组的末尾
可以。指针可以指向任何地方,但指向后能不能写就是另外一回事了。比如:
p=&a[9]
可以用*p=10写内存,但是
p=&a[9]+1
就不一定能用
*p=10来写该地址的内存了。
3. C语言问题,如何用指针指向未知长度的数组的末尾
楼主,可以用指针解决,即让指针开始指向数组首地址,然后P++,直到遇到\0为止。
例子:
int a[20]={1,2,3,4}
int *p=a /*p指向数组a首地址*/
while(*p) /*这要有值,就为真,p不断往后指*/
++p;
--p; /*注意,p最后还会下移一位,指到了\0,向前一位就指到了末尾的值的了*/
不知道楼主满意否啊? 注意:用指针效率高。
4. C语言中怎么让指针指向一维数组的末尾.
数组有多少项,就给这个指针加多少。
如
int b[5];
int *p;
p=b;
p+=5;
这时p就指向了b[5]的未尾。
5. C语言,怎么样把指针指到文件的末尾
1. 你写入文件进是按一行一个结构体写入的,这时你有没有用换行符,如果有,你就要在fseek时加入换行符的字节。
2. n在fseek时要减1,fseek(fp,(n-1)*44L,SEEK_SET); 才是你要修改的数据。
6. C语言为什么指针指到末尾了第二个循环还能开始呢
这段代码很有问题
while(*(p++)!='\0');
这行while后面加分号,暂时理解成要循环空语句。最后一次循环(*p) == '\0',但是p又加了1,所以最后p指向'\0'右边的字符,这个字符是什么是不定的。
但是感觉你不是想循环空语句,所以while最后不要加分号。while后面跟一个语句就是循环这个语句,想循环多个要用{}括起来。
感觉貌似基础你还不太明白,后面的自加自减也不太对,还是需要再仔细看看书。
7. 如何将链表首指针移至队尾 (C语言)
不大明白你说的意思,我的理解是这样的啊~
head也就是首指针,它本身不保存数据,它的next指针指向链表的首节点。那么,你提供的这段代码,流程上似乎有点问题:
首先,p指向的首节点,即p=head->next;
然后,pre指向的尾节点,就是那个while循环的功能;
然后,源代码中的顺序应该有点问题,我分析应该是这样的:
//先将head后移一位,因为head指向链表的首节点,而原链表的首节点要移到末尾,所以移动之后的链表首节点应该就是head->next->next也就是p->next了
head->next=p->next;
//然后,将原来的首节点(也就是p)移动到链表末尾
pre->next=p;
p->next=NULL;
原题中,改变head的位置本意是想让head指向原链表的首节点,这样head的next就会指向新链表的首节点(也就是head=head->next之后,head=p了,新链表的首节点(就是原来的head->next->next)),但是这种做法并不正确,原来的首节点改动位置了,这样的想法也就失效了。
不知道我这么说能不能帮你解决问题。