пояснение требуется

AleArduino
Offline
Зарегистрирован: 27.02.2018

Подскажите как понять 

есть код в блоке инициации

char *ssid =  "AIRPORT";  // Имя вайфай точки доступа
char *pass =  "PASSWORD"; // Пароль от точки доступа

но перменная char, согласно документации, хранит именно char, а не строку и что значит звездочка паред именем переменной. Или подскажите где почитать!

Спасибо!

sadman41
Offline
Зарегистрирован: 19.10.2016

В данном случае это char* - указатель на C-строку, она же - массив char с 0x00 в последнем элементе.

AleArduino
Offline
Зарегистрирован: 27.02.2018

ага это массив char ! Спасибо!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

AleArduino пишет:

ага это массив char ! Спасибо!


Это адрес, где эта строка начинается, где признаком конца строки - 0

Olvin
Offline
Зарегистрирован: 01.08.2018

AleArduino пишет:

Или подскажите где почитать!

«Язык программирования Си» Брайана Кернигана и Денниса Ритчи

AleArduino
Offline
Зарегистрирован: 27.02.2018

Хорошо, спасибо! Но имя массивов в любом случае

первого - ssid

второго  - pass   

правильно?! 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

AleArduino пишет:

Хорошо, спасибо! Но имя массивов в любом случае

первого - ssid

второго  - pass   

правильно?! 

Не верно. Это как сравнивать человека и собаку. И тот и та жрет и гадит. В этом они зачетельно одно и тоже.

/*Указатель чар*/
char *ssid =  "AIRPORT";  // Имя вайфай точки доступа
char *pass =  "PASSWORD"; // Пароль от точки доступа
/**/
char massiv1[]="AIRPORT"; 
char massiv2[]="PASSWORD"; 
/*если так можно сделать*/
pass = ssid;
/*то так точно не выйдет*/
massiv1=massiv2;

 

AleArduino
Offline
Зарегистрирован: 27.02.2018

Вот оказывается какие тонкости! Спасибо! Буду применять!