Mi a különbség a két konstans definíció között?
Figyelt kérdés
#define VALAMI BIT(7)
#define VALAMI 7
2013. ápr. 24. 06:54
2/17 A kérdező kommentje:
C.
Az egyik uC -hez tartozó header file -ban a következő sor áll:
#define FLEXCAN_MCR_SRX_DIS BIT(17)
BIT(17) -> miért van zárójelben? Ez azt jelenti, hogy adott regiszterben a 17 bit?
Ezzel egyenértékű?
#define FLEXCAN_MCR_SRX_DIS 17
És mi van akkor ha a következő formában szerepel:
#define FLEXCAN_MCR_SRX_DIS (17)
2013. ápr. 24. 07:01
3/17 anonim válasza:
ha c akkor a #define VALAMI 7 a valami változó értékét 7 re rakja. Az első meg 7 bites értékre rakja.
4/17 A kérdező kommentje:
Bocs, de a 7 bites értéket hogy érted?
2013. ápr. 24. 07:03
6/17 iostream válasza:
A define behelyettesítés. Ahol VALAMI-t lát a kódban, oda beírja, hogy BIT(7) vagy 7. Ezek után neked kell tudnod, hogy a BIT az micsoda, valószínűleg egy másik makró.
7/17 A kérdező kommentje:
Értem. És ha #define VALAMI (7) áll? Van valami jelentősége annak, hogy az érték zárójelben van?
2013. ápr. 24. 15:22
8/17 iostream válasza:
Ott a VALAMI helyére (7) kerül.
9/17 anonim válasza:
Ahogy előttem is írták ezt szó szerint behelyettesítés. Például akár ilyet is csinálhatsz, ez is fog működni:
#include <stdio.h>
#define fofuggveny main
#define egyenlo ==
#define ha if
#define kulonben else
#define kiir printf
#define beker getchar()
#define nyit {
#define zar }
void fofuggveny()
nyit
ha (beker egyenlo '1')
nyit
kiir("Müxik\n");
zar
kulonben
nyit
kiir("Nagyon jol müxik.\n");
zar
zar
10/17 anonim válasza:
Egyébként ez alkalmas arra hogy úgymond kibővítsd a nyelvet, hogy neked kényelmesebb legyen. Én például pythonban megszoktam az elif használatát és nincs kedvem külön "else if"-et írni, sem a C szintaktikától nagyon elütő, a forrást néha zavarossá tevő switch case szerkezetet használni, ezért gyakran azzal kezdem hogy kibővítem egy eliffel magamnak a nyelvet :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!