歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C語言的指針數組

聲明: char *lineptr[MAXLINES]

它表示lineptr是一個具有MAXLINES個元素的一維數組,其中數組的每一個元素是一個指向字符類型對象的指針,也就是說,lineptr[i]是一個字符指針,而*lineptr[i]是該指針指向的第i個文本行的首字符.

例:指針數組的初始化(摘自C程序設計)

編寫一個函數month_name(n),它返回一個指向第n個月名字的字符串的指針(這也是內部static類型數組的一種理想應用)

程序如下:

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
 
char *month_name(int n) 

        static char *name[13] = { 
                "Illegal month", 
                "January", "February", "March", 
                "April", "May", "June", 
                "July", "August", "September", 
                "October", "November", "December" 
        };   
        return (n < 1 || n > 12) ? name[0] : name[n]; 

 
int main() 

        int mon; 
        char *monthname; 
        printf("please input the month name :\n"); 
        scanf("%d", &mon); 
        monthname = month_name(mon); 
        printf("%s\n", monthname); 
        return 0; 

其中name的聲明是一個一維數組,數組的元素為字符指針,第i個字符串的所有字符存儲在存儲器中的某個位置,指向它的指針存儲在name[i]中,由於上述聲明中沒有指明數組name的長度,因此,編譯器編譯時將對初值個數進行統計,並將這一准確數字填入數組長度.

Copyright © Linux教程網 All Rights Reserved