Это то же самое (магия от компилятора не происходит). По умолчанию литералы типа 10 являются значениями int, а не int *.
Вам нужно бросить:
int *myNum = (int*)10; // Need to cast
char *myChar = "Something"; // No need to cast "..." is already a char*
Обратите внимание, что опасно ссылаться на указатель на абсолютное значение, как это, потому что в конечном итоге вы получите адрес 10 в памяти процессора.
Что касается вашего второго вопроса, «...» рассматривается как непрерывная последовательность символов в памяти, подобная массиву, и эквивалентна char *.
Для продуманного понимания C, указателей и различия между массивами и указателями, вы должны прочитать следующее: Expert C Programming: Deep C Secrets by Peter van der Linden.
Проблема в том, что вы пытаетесь получить getElementById
, но у вас нет элемента с таким идентификатором, поэтому вам нужно добавить идентификатор во все поля ввода, которые вы пытаетесь получить данные из
Вы используете document.getElementById
для получения своих элементов, но вы не определили идентификаторы для самих элементов (в HTML). Обратите внимание, что имя элемента не совпадает с его идентификатором.
Вы используете document.getElementById()
для извлечения значения из формы, но вы не указали атрибут id
во входных элементах.
<input type="text" id="firstName" placeholder="First Name" name="firstName" required/><br><br>
<input type="text" id="lastName" placeholder="Last Name" name="lastName" required/><br><br>
<input type="text" id="signUpUserName" placeholder="Username" name="signUpUserName" pattern="^[a-zA-Z][a-zA-Z0-9-_\.]{8,20}$" required/><br><br>
<input type="text" id="signUpPassword" placeholder="Password" name="signUpPassword" pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$" required/><br><br>
<input type="text" id="signUpVerPassword" placeholder="Verify Password" name="signUpVerPassword" pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$" required/><br><br>