當前位置:首頁 » 編程語言 » c語言文件指針初始化

c語言文件指針初始化

發布時間: 2022-06-06 11:59:59

c語言指針變數為什麼要賦初值

其他回答(4)錯誤:40411級2012-02-10使用指針必須要初始化,要有一個明確的指向是有目的性的。之後再移動更改才不會造成混亂熱心問友2012-02-10不給指針變數賦初值在語法上是沒有錯誤的,編譯執行也可以通過,但是一旦代碼量增多後,很容易造成指針的錯用,為了防止這一問題最好將指針變數定義的時候就置成NULL,這樣做是為了代碼安全著想。
指針定義後就會隨機指向一個位置的,編譯的時候也不會提示錯誤,程序短很容易找出來,長了多了就難找了,所以這是一個好習慣吧。

❷ C語言指針的初始化!!!!

指針指向變數後才能操作,如:int *pt,a;pt=&a;*pt=5;第二個char *i;i="Hello";這樣是正確的.

❸ c語言 指針初始化的問題

如果你是需要賦字元串的,不需要給它分配空間,但是如果你要給指針結構體賦某個值,那是需要給指針指定內存空間的,所以你上面的程序只要這樣就好了:
main()
{
char *str1, *str2;
str1 = 「shabi";
str2 = "bushishabi";
printf("%s\n%s\n",str1,str2);
}

%s的話,就是後面的str1之類的東西是要一個地址

❹ C語言 指針二維數組怎麼初始化

Total_FileType[0][typea] = malloc(xxx);
strcpy(Total_FileType[0][typea],newname);
//也可以不申請控制,直接讓數組元素指向數據,同樣適用*提取數據
*(Total_FileType[0][typea])讀不到數據么?

❺ 在C語言中,關於字元型指針初始化char *p="hello world" 的問題

對於字元串常量,編譯器都是默認按其大小分配內存存放字元串,並把地址首地址賦值指針變數。
如:
char
*p="hello
world";
其實編譯的時候等於:
const
char
str[]
=
"hello
world";
char
*p
=
str;
只不過這個
str
數組名你沒法直接拿來用而已。

❻ c語言文件類型指針

c語言文件類型指針是通過FILE *fp; 這種形式進行定義的。

關於FILE結構在VC6中有如下定義:

#ifndef_FILE_DEFINED
struct_iobuf{
char*_ptr;//文件輸入的下一個位置
int_cnt;//當前緩沖區的相對位置
char*_base;//指基礎位置(即是文件的起始位置)
int_flag;//文件標志
int_file;//文件描述符id
int_charbuf;//檢查緩沖區狀況,如果無緩沖區則不讀取
int_bufsiz;//文件緩沖區大小
char*_tmpfname;//臨時文件名
};
typedefstruct_iobufFILE;
#define_FILE_DEFINED
#endif

C程序用不同的FILE結構管理每個文件。程序員可以使用文件,但是不需要知道FILE結構的細節。實際上,FILE結構是間接地操作系統的文件控制塊(FCB)來實現對文件的操作的,如下圖:

上面圖中的_file實際上是一個描述符,作為進入打開文件表索引的整數。

文件是存放在物理磁碟上的,包括文件控制塊(FCB)和數據塊。文件控制塊通常包括文件許可權、日期(創建、讀取、修改)、擁有者、文件大小、數據塊信息。數據塊用來存儲實際的內容。當打開一個文件時,程序會將物理磁碟上的文件數據塊讀入到內存,然後通過文件指針的移動讀取內存中的文件數據。

相關函數:

  • FILE *fopen( char *file, char *open_mode ); //打開文件,讀文件到內存,返迴文件信息結構指針

  • int fread( char s, int size, int num, FILE *fp ); //按位元組讀取文件內容到s中

  • int fwrite( char s, int size, int num, FILE *fp ); //按位元組將s地址中的數據寫到文件中

  • char *fgets( char *s, int max_size, FILE *fp); //讀一行數據到緩沖區s中

  • intfseek( FILE *fp, long offset, int whence); //移動文件指針到指定位置

  • void rewind(FILE *fp); //回到文件頭

  • long ftell(FILE *fp); //得到當前文件偏移位置

  • fclose(fp); //關閉文件,刷新緩存到物理磁碟上

❼ C語言中指針如何初始化為NULL

ptr = NULL;用於將指針指向空
而*ptr是指它指向的地址里的內容。

熱點內容
什麼是白標和伺服器 發布:2025-02-08 21:15:50 瀏覽:481
租完伺服器怎麼搭建ip 發布:2025-02-08 21:11:47 瀏覽:394
c語言賦值後 發布:2025-02-08 21:08:40 瀏覽:756
dosphp 發布:2025-02-08 21:01:27 瀏覽:703
sm3雜湊演算法 發布:2025-02-08 20:55:00 瀏覽:285
抽獎源碼帶後台 發布:2025-02-08 20:33:54 瀏覽:225
歐博中央空調原始密碼是多少 發布:2025-02-08 20:33:47 瀏覽:335
運動使人快樂緩解壓力 發布:2025-02-08 20:27:01 瀏覽:98
linux命令大文件 發布:2025-02-08 20:25:06 瀏覽:897
C蟻群演算法 發布:2025-02-08 20:21:25 瀏覽:513