» »

Globalne spremenljivke c++

Globalne spremenljivke c++

MeGreat ::

#include <cstdio>
int pet=5;
void spremeni(void)
{

pet++;


}


int main(void)
{
    
   char neki[30]="a";

   printf("%d",pet);
    while(1);
return 0;    
}


Torej rad bi v funkciji spremeni uporabil globalno spremenljivko pet in ji spremenil vrednost, brez da bi jo podal kot kazalec v argumentu funkcije
  • spremenilo: MeGreat ()

MeGreat ::

lol, ok sem že ugotovil kaj je narobe
kar zbrišite

ERGY ::

Mimogrede. Koda je C ni C++.

arjan_t ::

cstdio je c++ knjižnjica

ERGY ::

cstdio je c++ knjižnjica


edit: To ni res.

Zgodovina sprememb…

  • spremenilo: ERGY ()

nuclear ::

Koda je C.. MeGreat, če ugotoviš stvar ponavadi napišeš rešitev, če še kdo drug išče odogovr..
Asus G14 2023 - Ryzen 7940HS - 32GB DDR5 - GeForce RTX 4080 - 990 PRO 4TB

arjan_t ::

zakaj naj bi bila to C koda?

koliko vem ima C header stdio.h in ne cstdio

Zgodovina sprememb…

  • spremenil: arjan_t ()

Senitel ::

In kaj ima to ali zadeva uporablja stdio ali cstdio veze na to ali je C ali C++ (btw: zakaj cstdio?)? Če se že gre o tem, potem bi bilo boljše rečt, da tale koda ne vsebuje nikakršnih C++ elementov.

arjan_t ::

če C prevajalnik ne zna prevest kode potem to ne more bit "C koda"

MeGreat ::

Koda je C.. MeGreat, če ugotoviš stvar ponavadi napišeš rešitev, če še kdo drug išče odogovr..

ja lol funkcije nisem klical, zato ni povečal ;)

drugače pa prevajal sem z devc++ zato tudi sem tudi iskal c++ knjižico z printf, google je to prvo ven vrgel

arjan_t ::

c++ ima za to drugače iostream, cout za izpis, cin za input

ERGY ::

če C prevajalnik ne zna prevest kode potem to ne more bit "C koda"


V Cpp je to zapakiran stdio.h v cstdio in zato rabiš pisat v C-ju lepo po starem
include <stdio.h>

Zgodovina sprememb…

  • spremenilo: ERGY ()

arjan_t ::

jaz že vem kako je v c++ in c, odgovarjal sem nekaj druga

MeGreat ::

Ok, zakaj tole v dev c++ ne deluje, vrne mi napako da cout ni deklariran

#include <iostream>
 int main(void)
 {
short a;
short b=1;

while(b!=0)
{
           cout<<endl<<"VNESI VREDNOST A";
           cin>>a;
           
           cout<<endl<<"vnesi b";
           cin>>b;
           
           short c=a*b;
           cout<<endl<<"PRODUKT JE "<<c;
           
           }

return 0;
}

arjan_t ::

ker je v namespace-u std

MeGreat ::

aha
using namespace std;
je potrebno dodati

Kaj ta "using namespace" pomeni? Da kličeš funkcijo iz objekta std? in lahko uporabiš tudi std::cin?

JanK ::

Namespace je okolje ki zasciti imena funkcij. Lahko imas naprimer knjiznici XXX in YYY, ki imata obe funkcijo bla(), vsaka pa deklarira svoj namespace. Tedaj funkcijo iz prve knjiznice klices "XXX::bla()", iz druge pa "YYY::bla()" in prevajalnik loci med njima.

Ce pa v programu veliko uporabljas, npr., knjiznico XXX, lahko pri vrhu programa napises "using namespace XXX;" in s tem razgalis funkcije iz prve knjiznice. Tedaj lahko funkcijo iz te knjiznice klices tudi tako, da izpustis "XXX::", se pravi, kar "bla()". Seveda lahko se vedno uporabis tudi "XXX::bla()".

Dostikrat se pojavi "using namespace std;", ker je v tem namespaceu veliko funkcij. Ampak (in to je moja osebna preferenca) sam raje uporabljam kar polno ime. Vsaj meni je taksna koda bolj citljiva in ob vsaki funkciji vem iz katere knjiznice je.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c++] segmentation fault?????

Oddelek: Programiranje
212314 (1858) Vesoljc
»

[c] char zadeva

Oddelek: Programiranje
222262 (2060) TheCyborg
»

Dev-C++ in napaka pri prevajanju funkcij

Oddelek: Programiranje
181107 (956) MartnKrp
»

c++ datoteke

Oddelek: Programiranje
464061 (3550) Vesoljc
»

C++ kot kaj shraniti program?

Oddelek: Programiranje
261245 (1078) rasta

Več podobnih tem