Каква е разликата между нулев указател и невалиден указател в C?


Отговор 1:

Вижте, Когато променливата на показалец е декларирана и инициализирана или с нулева стойност или с 0 изрично, тогава променливата на показалеца се казва, че е нулева указател. Всъщност това е показалец, който не сочи никъде. Той няма адрес на която и да е променлива, вместо това показалецът се инициализира с нула или нула, което показва, че тази променлива показалец все още не се използва. Така че Null pointer е специално запазена стойност на показалец.

Пустовият указател е общ указател, той няма свързан тип данни. Той може да съхранява адреса на всеки тип обект и може да бъде тип-кастиран към всякакъв тип. Нека помислим, че трябва да декларираме три показалеца на променливи от три различни типа данни, като char *, int * и float *. Сега кодът ни изглежда излишен с типове данни. За да се преодолее този недостатък, беше въведена void *. Когато декларирате променлива на указателя от тип void, преобразуванията към конкретни типове данни се прилагат автоматично от компилатора, т.е. ако стойността на адреса, съхраняван в void pointer, е int datatype, а void ще се преобразува в int тип автоматично в момента на компилиране , Ако не се направи клавишинг, компилаторът няма да има представа за кой тип данни се посочва адресът в невалидния показалец.


Отговор 2:

Null Pointer - има стойност "NULL". Адресът на нулев указател има стойност в него, която казва на компилатора неговата стойност е NULL.

Void pointer - Void pointer е указател, който има „void“ като свой тип данни. (вместо да имаме char * или int *, ние обявяваме невалидни *) Той е много мощен и гъвкав, защото можете да конвертирате всякакви типове данни (включително структури) в и от void *.


Отговор 3:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 4:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 5:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 6:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 7:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 8:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 9:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 10:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 11:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 12:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.


Отговор 13:

Ние използваме нулевия показалец за много приложения

а) Да се ​​инициализира променлива на показалец, когато на тази променлива на показалец все още не е присвоен валиден адрес в паметта. По този начин можем да извършим обработка на грешки в свързан с показалец код, напр. променлива на указател dereference само ако не е NULL.c) За да предадем нулев указател на функционален аргумент, когато не искаме да предаваме валиден адрес на паметта.

използваме указателя за невалидност за

Невалиден указател е указател, който няма свързан тип данни с него. Анулиращият указател може да съдържа адрес от всякакъв тип и може да бъде въведен към всеки тип.