Articles of указатели

Как получить доступ к членам структур за пределами своей исходной функции?

Я работаю над проектом, где я создаю структуры внутри отдельной функции, чем main() . После создания и добавления информации о члене (переменной) в структурную переменную мне нужно будет return указатель на структуру, в которой я могу получить к ней доступ для ссылки и печати. Я включаю свой код и прошу вас как можно проще, поскольку […]

Массив char * должен заканчиваться на ‘\ 0’ или “\ 0”?

Допустим, у нас есть массив указателей на символы char* array[] = { “abc”, “def” }; Теперь, что нужно положить в конец? char* array[] = { “abc”, “def”, ‘\0’ }; или же char* array[] = { “abc”, “def”, “\0” }; Хотя, оба работают. Мы должны только поставить условие, чтобы проверить конец соответственно лайк array[ index ] […]

Глобальный указатель на локальный указательный массив

У меня есть массив указателей на массивы, в функции. Мне нужно получить доступ к этому массиву в другой функции. Массив указателя char *ptr[size + 1]; Я сделал глобальный указатель char *p; который я указал на ptr (в той же функции, что и ptr) p = *ptr; то я попытался получить доступ к ptr из другой […]

О символьных указателях в C

Рассмотрим это определение: char *pmessage = “now is the time”; Как я вижу, pmessage укажет на смежную область в памяти, содержащую эти символы, и ‘\0’ в конце. Поэтому я получаю от этого, что я могу использовать арифметику указателя для доступа к отдельному символу в этой строке, пока я в пределах этой области. Итак, почему они […]

Использование qsort для массива символов в C

Я пытаюсь использовать qsort для сортировки массива символов. Я не понимаю, почему это не работает. У меня есть указатель на функцию сравнения, как указано в man страницах. Может кто-нибудь, пожалуйста, скажите мне, что случилось? Благодарю. Мой код: #include #include #include int cmpfunc( const void *a, const void *b) { return *(int*)a – *(int*)b; } void […]

Как strcpy работает за кулисами?

Для некоторых это может быть очень простым вопросом. Я пытался понять, как strcpy работает на самом деле за кулисами. например, в этом коде #include #include int main () { char s[6] = “Hello”; char a[20] = “world isnsadsdas”; strcpy(s,a); printf(“%s\n”,s); printf(“%d\n”, sizeof(s)); return 0; } Поскольку я объявляю s статическим массивом, размер которого меньше, чем […]

Не могли бы вы помочь мне понять, указатели, пожалуйста?

Я знаю, что это было задано ранее, но одна вещь, на которую не затронули эти другие вопросы, – это почему Позвольте мне объяснить. Я просто просмотрел учебник, в котором выведены целые числа и указатели, чтобы показать вам, как это сделать. int anInteger = 50; int *anIntPointer = &anInteger; Таким образом, чтобы настроить указатель, я назначаю […]

Atmelstudio UC3C AVR32 – объекты инфраструктуры в неправильном месте в памяти?

Во время установки CAN-передачи указатель повреждается (он исходит от действительного 0x00000bd0 до 0x84520000, который выходит за пределы моей ОЗУ). Указатель также не связан с активностью CAN. Причиной коррупции является то, что union64 записывается по адресу указателя. Этот union64 принадлежит к объекту CANIF (из ASF), в исходном коде коррупция происходит здесь: void CAN_SendMsg_KMS(uint64_t msg) { CANIF_mob_get_ptr_data(ACTIVECHANNEL,0)->data […]

В чем разница между указателем float и адресом int указателя?

Я попытался запустить этот код, int *p; float q; q = 6.6; p = &q; Хотя это будет предупреждение, но я думаю, что &q и p имеют одинаковый размер, поэтому p может иметь адрес q . Но когда я печатаю &q и p я получаю разные результаты. Это мой вывод *p = 6.600000 q = […]

c несовместимые типы в задании, проблема с указателями?

Привет, я работаю с C, и у меня есть вопрос о назначении указателей. struct foo { int _bar; char * _car[SOME_NUMBER]; // this is meant to be an array of char * so that it can hold pointers to names of cars } int foofunc (void * arg) { int bar; char * car[SOME_NUMBER]; struct […]