Я попытался оглянуться, но не смог найти ответ для этого. Я нашел что-то объясняющее, когда мы используем двойную звездочку **, однако я не уверен, применимо ли это к моему делу.Значение «звездочка типа звездочка» в C: * (volatile int *) foo
я наткнулся встраиваемые системы кода, который выглядит немного чуждо мне:
port0 = *(volatile int *)(0x1C002100)
, что эта операция делает то, что он читает порт GPIO, чей адрес 0x1C002100
. Однако какова сделка со всеми этими звездочками?
Я написал бы это что-то вроде:
port0 = *0x1C002100
Они делают некоторый тип отливки типа указателя и, следовательно, мы используем 2 звездочки? Это было бы моим лучшим предположением. Спасибо за помощь !
Возьмите книгу на C !!!!! –
Если этот код действительно использует стандартные целочисленные типы типа 'int', это действительно плохой код и говорит что-то (не положительное) о качестве кода. Правильно использовать фиксированные типы ширины, например. 'Uint16_'. – Olaf