Можно определять массивы указателей
int* parray[5]; //5 указателей на целые значения.
*parray[3] - //3-й элемент массива.
char *keywords[5]={"ADD", "CHANGE", "DELETE", "LIST", "QUIT"};
В памяти:
keyword[0] – адрес 10000 строка ADD\0 4б
keyword[1] - 10004 CHANGE\0 7б
keyword[2] - 10011 DELETE\0 7б
for (i=0; i<5; i++)
printf("%s", keywords[i]); //печать строки
char *key[3],**pt; //определение указателя на указатель
pt=key;
printf(“%s %d\n”,*pt,**pt); //печатается первая строка и код первой буквы
for (i=0; i<5; i++)
printf(“%c ”,**(pt+i)); //все первые буквы строк
for (i=0; i<3; i++)
printf(“%c ”,*(*pt+i)); //все слово по буквам
Указатель как возвращаемое значение функции
Передача указателя как параметра функции
Указатель можно передавать в функцию в качестве аргумента и возвращать из функции.
#include<string.h>
char* strcopy(char*, char*);
void main(void){
char target [24];
char* cptr;
cptr=strcopy (target, "Персональная"); //возврвщает адрес target+12
cptr=strcopy (cptr, "IBM"); // возврвщает адрес target+16
}
char* strcopy (char*tptr, char*cptr){
while (*tptr++=*cptr++); //while (*cptr!='\0')
// *tptr++=*cptr++;
return (tptr);
}
Функции, работающие со строками
|
|
Функции, определеные в заголовочном файле stdio.h
1. Функция gets(char *) - вводит строку в массив с клавиатуры
char name[81];
gets(name); // Берёт все символы до конца строки символ '\n'
// отбрасывает и записывает '\0' и передаёт в вызов программы.
2. Функция puts(char *) - выводит строку на экран
puts ("Я функция puts()");
char str1[]="Только одна строка";
puts(str1); //Читает строку до встречи '\0'. Все строки
//выводятся с новой строки.
3. Функция int getc(stdin) – вводит символ в переменную с клавиатуры.
4. Функция int putc(int c, stdout) – выводит символ на экран.
Стандартные библиотечные функции