Массивы указателей. Можно определять массивы указателей

Можно определять массивы указателей

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) – выводит символ на экран.

Стандартные библиотечные функции


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: