Elektronika.lt
 2024 m. balandžio 20 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2024 04 20, 12:00. Visos datos yra GMT + 2 valandos.
 Forumas » Programavimas » C kalba, apie header faila.
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 15, 14:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
adomas kaunas
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Labas
Iškilo klausima, gan praktiškas:)
Sakykime susikuriu savo biblioteka mano.h, ir joje yra #define kintamasis 0
ir kaip galėčiau kintamojo reikšme pakeisti iš main.c failo

pvz.
#include <.....>
#include "mano.h"
kintamasis=10
main()
{

}
Arba pavyzdžiui kaip galimą būtų pakeisti reikšme kintamajam esančiam header falie <mano.h>

Visiems dėkingas kas galėsit padėti.
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 15, 16:54 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
viskas ciki, *.h faile ir rasomos public deklaracijos, be to su extern galima publikuoti hiden deklaracijas, jei tik nujauti kaip jos galejo buti deklaruotos.

tavo atveju problema kiltu nebent todel, kad bandai redeklaruoti anksciau deklaruota kintamaji. jei tai darytum f-jos/p-ros vuduje, tai atrodytu kaip priskyrimas, nes pries redeklaravima nenurodai jokio tipo.
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 15, 19:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
adomas kaunas
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Na man tas čiki nesigauna.

main.c:

Kodas:

#include <stdio.h>
#include <stdlib.h>
#include "hederTEST.h"
 
 #define JO() (5)

int main()
{
    daugina();
    return 0;
}
 

hederTEST.h:
Kodas:

#ifndef hederTEST_H_
#define hederTEST_H_

#ifndef JO()
#define JO() (1)
#endif

void daugina (void);
void printint(int con);

#endif


hederTEST.c:
Kodas:

void daugina (void)
{
    int a =10;
    printf("is funkcijos daugina konstanta a %i\n",a);
    printf("Numatytas daugiklis %i\n Iveskite skaiciu",JO());
    scanf("%i", &a);
    printf("Ivestas skaicius yra %i\n",a);
    a*=JO();
    printf("gauname %i\n",a);
}


Kaip matome iš kodo aš bandau iš main lango kintamojo (šeip tai konstanta)
JO reikšme pakeisti į 5 ir perduoti į hederTest.c per .h faila.

Kai JO() () tai prieš main funkcija Galiu priskirti kita reikšme arba JO=5; taip pat kompiletorius nesispjaudo, bet daugiklio reikšmė palieka ta pati. Kai JO reikšme keičiu main funkcijoje tai ir kompiletoriui nepraeina.

kokiu minčių kas pasiūlys? Smile
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 16, 09:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
kadangi includas pirmiau deklaracijos main.c tai rezultate turetum JO() (1)

jei include hdrTEST.h padarytum po deklaracijos JO() (5), tai tai ir gautum.
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 16, 10:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
adomas kaunas
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Bandžiau ir šitaip bet vis vien lieka JO() (1)
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 16, 12:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
nezinau kas tau negerai, bet man po DevC++ veikia 100%
Kodas:
#ifndef hederTEST_H_
#define hederTEST_H_

//#ifndef JO
//#define JO() (1)
//#endif

extern int JO;

void daugina (void);
void printint(int con);

#endif

Kodas:
#include <stdio.h>
#include <stdlib.h>
#include "hederTEST.h"

int JO = 1;

void daugina (void)
{
    int a = 10;
    printf("is funkcijos daugina konstanta a %i\n",a);
    printf("Numatytas daugiklis %i\n Iveskite skaiciu ", JO);
    scanf("%i", &a);
    printf("Ivestas skaicius yra %i\n",a);
    a *= JO;
    printf("gauname %i\n",a);
}

Kodas:
#include "hederTEST.h"

int main()
{
   JO = 5;
    daugina();
    return 0;
}
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 16, 12:28 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
su #define ten visokie bajeriai gali gautis del skirtingos kompiliavimo eigos kai kompiliuoji is kokios nors IDE ir makefile, cia lai tau paaiskina c++ profai, as tik megejas.
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 16, 16:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vvv2
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Labas,

1. Kad galėtum kintamąjį naudoti kitame faile, reik jį ten deklaruoti kaip išorinį raktiniu žodeliu: extern int kintamasis;

2. Direktyva #define galima apibrėžti konstantes (nekeičiama), arba MACRO inline funkcijas su parametru ar be jo.

Sėkmės.
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 16, 19:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
adomas kaunas
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Ačiū AlgisL su extern veikia jūsų pavyzdys. Extern keyword skirta C/C++ pirmą kartą girdžiu nors programavimų rimtai domiuosi apie porą mėnesiu. skaitomoj literatūroje kol kas nesusidūriau.

Mintis kintamojo reikšmę keisti per #define kilo per atmel studio. Kai su žaidžiau. pasirodo reikšmės į registus perduodamos per DDRx ir PORTx kurie heder faile yra tiesiog definicios. na jei ką dar sužinosiu pasidalinsiu, jei dar kas nors turite protingų minčių taip pat galit pasidalinti. o šiaip tai tikslas kaip ir pasiektas Smile ir VV2 ką turėjai galvoje su parametru ar be jo?
 C kalba, apie header faila.
PranešimasParašytas: 2013 10 17, 08:33 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
jis turejo uomenyje statini konstantos ar f-jos/p-ros aprasa per #define
toks aprasas turi privaluma, kad gali padaryti #undefine ir apsirasyti isnaujo, kai iprastai aprasytos konstantos ar proceduru pakeisti jau nera galimybes. yra override, bet turi skirtis parametru skaicius arba tipas.
Pradėti naują temą  Atsakyti į pranešimą
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

„Deinavos baldai“ — šeimos baldai

FS 22 Tractors
Farming Simulator 19 Mods, FS 22 Maps, FS22 Mods
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS22 Trucks
VAT calculator
VAT number check, What is VAT, How much is VAT
Paskola internetu
Vartojimo paskola, paskola automobiliui, paskola būsto remontui
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS22 Mods
FS22 Harvesters, FS22 Tractors Mods, FS22 Maps Mods
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat
Optic sight
Binoculars for hunting elk,
Best compact binoculars,
Riflescope hunting
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
Farming Simulator 2019 Mods, FS22 Mods, FS22 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama