Object-C 1.0 第三章:面向對象編程基礎知識(OOP)

    1. 間接(indirection)
        1.1 變量和間接(使用變量來代替一些數字)
        1.2 使用文件名的間接
                const  表示一個變量不容許被改變
                    const int nValue; //nValue是const
                    const char *pContent; //*pContent是const, pContent可變
                    const char* const pContent; //pContent和*pContent都是const
                strlen(String value);  // 返回value字符串的長度
                以下面一個例子,可由非專業人員書寫文件,這就是間接    ,可是路徑爲決定路徑,不是太理想
                    FILE *worldFile = fopen("/tmp/words.txt","r"); // 打開文件並讀取文件內容,其中tmp爲Unix臨時目錄
                    char word[100];
                    while(fgets(word , 100 , wordFile)){   //  fgets()從文件中讀取一行文本並將其放到word中
                        word[strlen[word]-1] = '\0';  // fgets()調用會保留分開每一行的換行符,咱們不須要,若是留下他,會增長一個字符,因此改成\0
                        NSLog(@"%s is %d characters long",word,strlen(word)); // 打印信息
                    }    
                        fclose(wordFile);  // 關閉文件數組

 


    indirection(間接)  -->  不在代碼中直接使用某個值,而是使用指向該值的指針

    變量與間接 --> for(int i = 1 ;i< 5 ;i++) 是錯誤的 ,必須在for循環以前就聲明變量 int i;for(i =1;i<5;i++)

    const關鍵字:表示聲明一個常量,其值不能夠改變 (C中的關鍵詞)

    使用文件名的間接 --> %d 格式說明符取strlen()函數的整數值,此函數計算字符串的長度,並輸出單次自己及其長度  %s 由於是C字符串數組
    
        FILE *wordFile = fopen("/tmp/words.txt","r");
        char word[100];
        while(fgets(word,100,wordFile)){
            word[strlen(word)-1] = '\0';
            NSLog(@"%s is %d characters long",word,strlen(word));
        }
        fclose(wordFile);
            首先fopen()打開words.txt 文件並讀取文件內容,而後,fgets()從文件中讀取一行並將其放到word中。
            fgets()調用會保留分開每一行的換行符,可是咱們不須要,由於留下他,換行符會被記爲單詞中的一個字符,爲了解決這個問題,咱們將換行符替換爲0,表示字符串的結束,
            最後使用NSLog()輸出單次以及長度
  
    typedef
  
        typedef是C中的關鍵字,它的主要做用是給一個數據類型定義一個新的名稱,這些類型報告內部數據類型,好比int,char 還有自定義類型struct,enum等。
      typedef通常有兩個做用:(1) 給某種類型頂一個定義比較容易記的名字,至關於別名;(2)簡化較爲複雜的類型聲明。
  
  方括號的其餘意義:
        它們用於通知某個對象該作什麼。在方括號中,第一項是對象,其他部分是你須要對象執行的操做。函數

  

  輸出一個字符
        putchar(c); // put character(給字符的縮寫)

  輸入一個字符
        getchar();  //  只能接收一個字符,若是輸入多個字符,就要使用多個getchar() 函數
  指針

相關文章
相關標籤/搜索