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)),但是這種做法並不正確,原來的首節點改動位置了,這樣的想法也就失效了。
不知道我這么說能不能幫你解決問題。